@kubb/core 3.10.11 → 3.10.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-43SGNV6Q.cjs → chunk-4Y54TK73.cjs} +296 -313
- package/dist/chunk-4Y54TK73.cjs.map +1 -0
- package/dist/{chunk-GB7SMQO5.cjs → chunk-DFVR26S3.cjs} +13 -13
- package/dist/{chunk-GB7SMQO5.cjs.map → chunk-DFVR26S3.cjs.map} +1 -1
- package/dist/{chunk-XMAFJGOG.cjs → chunk-DYN65P3T.cjs} +8 -8
- package/dist/{chunk-XMAFJGOG.cjs.map → chunk-DYN65P3T.cjs.map} +1 -1
- package/dist/{chunk-7TZ5IOVL.js → chunk-F5IHVBMD.js} +9 -9
- package/dist/{chunk-7TZ5IOVL.js.map → chunk-F5IHVBMD.js.map} +1 -1
- package/dist/{chunk-5ENRRZRW.cjs → chunk-H7GP5BQJ.cjs} +4 -4
- package/dist/chunk-H7GP5BQJ.cjs.map +1 -0
- package/dist/{chunk-RMUG7S5Y.js → chunk-PNGIYL5L.js} +8 -23
- package/dist/chunk-PNGIYL5L.js.map +1 -0
- package/dist/{chunk-533OTQHD.js → chunk-RM6742YK.js} +3 -3
- package/dist/{chunk-533OTQHD.js.map → chunk-RM6742YK.js.map} +1 -1
- package/dist/{chunk-56PMPT4L.cjs → chunk-ZZEKLURQ.cjs} +17 -17
- package/dist/{chunk-56PMPT4L.cjs.map → chunk-ZZEKLURQ.cjs.map} +1 -1
- package/dist/fs.cjs +9 -9
- package/dist/fs.js +1 -1
- package/dist/index.cjs +42 -42
- package/dist/index.js +8 -8
- package/dist/logger.cjs +7 -7
- package/dist/logger.js +2 -2
- package/dist/mocks.cjs +10 -10
- package/dist/mocks.js +3 -3
- package/dist/{prompt-UVNS6X7J.js → prompt-ELTHGQK6.js} +6 -5
- package/dist/prompt-ELTHGQK6.js.map +1 -0
- package/dist/{prompt-BPFJQVHQ.cjs → prompt-HR6NQYCR.cjs} +4 -4
- package/dist/{prompt-BPFJQVHQ.cjs.map → prompt-HR6NQYCR.cjs.map} +1 -1
- package/dist/transformers.cjs +22 -22
- package/dist/utils.cjs +19 -19
- package/dist/utils.js +2 -2
- package/package.json +7 -7
- package/src/FileManager.ts +6 -31
- package/dist/chunk-43SGNV6Q.cjs.map +0 -1
- package/dist/chunk-5ENRRZRW.cjs.map +0 -1
- package/dist/chunk-RMUG7S5Y.js.map +0 -1
- package/dist/prompt-UVNS6X7J.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts","../src/utils/uniqueName.ts","../src/utils/URLPath.ts","../src/utils/TreeNode.ts","../src/BarrelManager.ts","../src/FileManager.ts","../src/utils/parser.ts"],"names":["item","path","join","extname","name","trimExtName"],"mappings":"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","file":"chunk-RMUG7S5Y.js","sourcesContent":["import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.#items.push(it))\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from './types.ts'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n","export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n","import { camelCase, isValidVarName } from '../transformers'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\ntype Options = {\n casing?: 'camelcase'\n}\n\nexport class URLPath {\n path: string\n #options: Options\n\n constructor(path: string, options: Options = {}) {\n this.path = path\n this.#options = options\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (_error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString({ replacer }),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString({ prefix = '', replacer }: { prefix?: string; replacer?: (pathParam: string) => string } = {}): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, path) => {\n const pathWithoutBrackets = path.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(pathWithoutBrackets) ? pathWithoutBrackets : camelCase(pathWithoutBrackets)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n return prev.replace(path, `\\${${replacer ? replacer(param) : param}}`)\n }, this.path)\n }\n\n return `\\`${prefix}${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(item) ? item : camelCase(item)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n const key = replacer ? replacer(param) : param\n\n params[key] = key\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n","import type { KubbFile } from '../fs/index.ts'\nimport { FileManager } from '../FileManager.ts'\n\ntype BarrelData = {\n file?: KubbFile.File\n /**\n * @deprecated use file instead\n */\n type: KubbFile.Mode\n path: string\n name: string\n}\n\nexport class TreeNode {\n data: BarrelData\n parent?: TreeNode\n children: Array<TreeNode> = []\n #cachedLeaves?: Array<TreeNode> = undefined\n\n constructor(data: BarrelData, parent?: TreeNode) {\n this.data = data\n this.parent = parent\n return this\n }\n\n addChild(data: BarrelData): TreeNode {\n const child = new TreeNode(data, this)\n if (!this.children) {\n this.children = []\n }\n this.children.push(child)\n return child\n }\n\n get root(): TreeNode {\n if (!this.parent) {\n return this\n }\n return this.parent.root\n }\n\n get leaves(): Array<TreeNode> {\n if (!this.children || this.children.length === 0) {\n // this is a leaf\n return [this]\n }\n\n if (this.#cachedLeaves) {\n return this.#cachedLeaves\n }\n\n // if not a leaf, return all children's leaves recursively\n const leaves: TreeNode[] = []\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n leaves.push.apply(leaves, this.children[i]!.leaves)\n }\n }\n\n this.#cachedLeaves = leaves\n\n return leaves\n }\n\n forEach(callback: (treeNode: TreeNode) => void): this {\n if (typeof callback !== 'function') {\n throw new TypeError('forEach() callback must be a function')\n }\n\n // run this node through function\n callback(this)\n\n // do the same for all children\n if (this.children) {\n for (let i = 0, { length } = this.children; i < length; i++) {\n this.children[i]?.forEach(callback)\n }\n }\n\n return this\n }\n\n findDeep(predicate?: (value: TreeNode, index: number, obj: TreeNode[]) => boolean): TreeNode | undefined {\n if (typeof predicate !== 'function') {\n throw new TypeError('find() predicate must be a function')\n }\n\n return this.leaves.find(predicate)\n }\n\n forEachDeep(callback: (treeNode: TreeNode) => void): void {\n if (typeof callback !== 'function') {\n throw new TypeError('forEach() callback must be a function')\n }\n\n this.leaves.forEach(callback)\n }\n\n filterDeep(callback: (treeNode: TreeNode) => boolean): Array<TreeNode> {\n if (typeof callback !== 'function') {\n throw new TypeError('filter() callback must be a function')\n }\n\n return this.leaves.filter(callback)\n }\n\n mapDeep<T>(callback: (treeNode: TreeNode) => T): Array<T> {\n if (typeof callback !== 'function') {\n throw new TypeError('map() callback must be a function')\n }\n\n return this.leaves.map(callback)\n }\n\n public static build(files: KubbFile.File[], root?: string): TreeNode | null {\n try {\n const filteredTree = buildDirectoryTree(files, root)\n\n if (!filteredTree) {\n return null\n }\n\n const treeNode = new TreeNode({\n name: filteredTree.name,\n path: filteredTree.path,\n file: filteredTree.file,\n type: FileManager.getMode(filteredTree.path),\n })\n\n const recurse = (node: typeof treeNode, item: DirectoryTree) => {\n const subNode = node.addChild({\n name: item.name,\n path: item.path,\n file: item.file,\n type: FileManager.getMode(item.path),\n })\n\n if (item.children?.length) {\n item.children?.forEach((child) => {\n recurse(subNode, child)\n })\n }\n }\n\n filteredTree.children?.forEach((child) => recurse(treeNode, child))\n\n return treeNode\n } catch (e) {\n throw new Error('Something went wrong with creating barrel files with the TreeNode class', { cause: e })\n }\n }\n}\n\nexport type DirectoryTree = {\n name: string\n path: string\n file?: KubbFile.File\n children: Array<DirectoryTree>\n}\n\nexport function buildDirectoryTree(files: Array<KubbFile.File>, rootFolder = ''): DirectoryTree | null {\n const rootPrefix = rootFolder.endsWith('/') ? rootFolder : `${rootFolder}/`\n const filteredFiles = files.filter((file) => (rootFolder ? file.path.startsWith(rootPrefix) && !file.path.endsWith('.json') : !file.path.endsWith('.json')))\n\n if (filteredFiles.length === 0) {\n return null // No files match the root folder\n }\n\n const root: DirectoryTree = {\n name: rootFolder || '',\n path: rootFolder || '',\n children: [],\n }\n\n filteredFiles.forEach((file) => {\n const path = file.path.slice(rootFolder.length)\n const parts = path.split('/')\n let currentLevel: DirectoryTree[] = root.children\n let currentPath = rootFolder\n\n parts.forEach((part, index) => {\n if (index !== 0) {\n currentPath += `/${part}`\n } else {\n currentPath += `${part}`\n }\n\n let existingNode = currentLevel.find((node) => node.name === part)\n\n if (!existingNode) {\n if (index === parts.length - 1) {\n // If it's the last part, it's a file\n existingNode = {\n name: part,\n file,\n path: currentPath,\n } as DirectoryTree\n } else {\n // Otherwise, it's a folder\n existingNode = {\n name: part,\n path: currentPath,\n children: [],\n } as DirectoryTree\n }\n currentLevel.push(existingNode)\n }\n\n // Move to the next level if it's a folder\n if (!existingNode.file) {\n currentLevel = existingNode.children\n }\n })\n })\n\n return root\n}\n","import { join } from 'node:path'\n\nimport { TreeNode } from './utils/TreeNode.ts'\n\nimport { getRelativePath } from './fs/index.ts'\nimport type { KubbFile } from './fs/index.ts'\nimport type { FileMetaBase } from './FileManager.ts'\nimport type { Logger } from './logger.ts'\n\ntype BarrelManagerOptions = {\n logger?: Logger\n}\n\nexport class BarrelManager {\n #options: BarrelManagerOptions\n\n constructor(options: BarrelManagerOptions = {}) {\n this.#options = options\n\n return this\n }\n\n getFiles({ files: generatedFiles, root, meta }: { files: KubbFile.File[]; root?: string; meta?: FileMetaBase | undefined }): Array<KubbFile.File> {\n const { logger } = this.#options\n\n const cachedFiles = new Map<KubbFile.Path, KubbFile.File>()\n\n logger?.emit('debug', { date: new Date(), logs: [`Start barrel generation for pluginKey ${meta?.pluginKey?.join('.')} and root '${root}'`] })\n\n TreeNode.build(generatedFiles, root)?.forEach((treeNode) => {\n if (!treeNode || !treeNode.children || !treeNode.parent?.data.path) {\n return undefined\n }\n\n const barrelFile: KubbFile.File = {\n path: join(treeNode.parent?.data.path, 'index.ts') as KubbFile.Path,\n baseName: 'index.ts',\n exports: [],\n sources: [],\n }\n const previousBarrelFile = cachedFiles.get(barrelFile.path)\n const leaves = treeNode.leaves\n\n leaves.forEach((item) => {\n if (!item.data.name) {\n return undefined\n }\n\n const sources = item.data.file?.sources || []\n\n if (!sources.some((source) => source.isIndexable)) {\n logger?.emit(\n 'warning',\n `No isIndexable source found(source should have a name and isIndexable):\\nFile: ${JSON.stringify(item.data.file, undefined, 2)}`,\n )\n }\n\n sources.forEach((source) => {\n if (!item.data.file?.path || !source.isIndexable || !source.name) {\n return undefined\n }\n const alreadyContainInPreviousBarrelFile = previousBarrelFile?.sources.some((item) => item.name === source.name)\n\n if (alreadyContainInPreviousBarrelFile) {\n return undefined\n }\n\n if (!barrelFile.exports) {\n barrelFile.exports = []\n }\n\n // true when we have a subdirectory that also contains barrel files\n const isSubExport = !!treeNode.parent?.data.path?.split?.('/')?.length\n\n if (isSubExport) {\n barrelFile.exports.push({\n name: [source.name],\n path: getRelativePath(treeNode.parent?.data.path, item.data.path),\n isTypeOnly: source.isTypeOnly,\n })\n } else {\n barrelFile.exports.push({\n name: [source.name],\n path: `./${item.data.file.baseName}`,\n isTypeOnly: source.isTypeOnly,\n })\n }\n\n barrelFile.sources.push({\n name: source.name,\n isTypeOnly: source.isTypeOnly,\n //TODO use parser to generate import\n value: '',\n isExportable: false,\n isIndexable: false,\n })\n })\n })\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [\n `Generating barrelFile '${getRelativePath(root, barrelFile.path)}' for '${getRelativePath(root, treeNode.data?.path)}' with ${barrelFile.sources.length} indexable exports: '${barrelFile.sources?.map((source) => source.name).join(', ')}'`,\n ],\n })\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [\n `Generated barrelFile '${getRelativePath(root, barrelFile.path)}' for '${getRelativePath(root, treeNode.data?.path)}' with exports: '${cachedFiles\n .get(barrelFile.path)\n ?.sources?.map((source) => source.name)\n .join(', ')}'`,\n ],\n })\n\n if (previousBarrelFile) {\n previousBarrelFile.sources.push(...barrelFile.sources)\n previousBarrelFile.exports?.push(...(barrelFile.exports || []))\n } else {\n cachedFiles.set(barrelFile.path, barrelFile)\n }\n })\n\n return [...cachedFiles.values()]\n }\n}\n","import { extname, join, relative } from 'node:path'\n\nimport { orderBy } from 'natural-orderby'\nimport { isDeepEqual } from 'remeda'\n\nimport { read, write } from './fs/index.ts'\nimport { BarrelManager } from './BarrelManager.ts'\n\nimport type { KubbFile } from './fs/index.ts'\n\nimport { trimExtName } from './fs/index.ts'\nimport type { ResolvedFile } from './fs/types.ts'\nimport type { GreaterThan } from './utils/types.ts'\nimport PQueue from 'p-queue'\nimport type { Logger } from './logger.ts'\nimport type { BarrelType, Config, Plugin } from './types.ts'\nimport { createFile, getFileParser } from './utils'\nimport { type DirectoryTree, TreeNode, buildDirectoryTree } from './utils/TreeNode.ts'\n\nexport type FileMetaBase = {\n pluginKey?: Plugin['key']\n}\n\ntype AddResult<T extends Array<KubbFile.File>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>\n\ntype AddIndexesProps = {\n type: BarrelType | false | undefined\n /**\n * Root based on root and output.path specified in the config\n */\n root: string\n files: KubbFile.File[]\n /**\n * Output for plugin\n */\n output: {\n path: string\n }\n group?: {\n output: string\n exportAs: string\n }\n logger?: Logger\n\n meta?: FileMetaBase\n}\n\nexport class FileManager {\n #filesByPath: Map<KubbFile.Path, KubbFile.ResolvedFile> = new Map()\n constructor() {\n return this\n }\n\n get files(): Array<KubbFile.ResolvedFile> {\n return [...this.#filesByPath.values()]\n }\n\n get orderedFiles(): Array<KubbFile.ResolvedFile> {\n return orderBy(\n [...this.#filesByPath.values()],\n [\n (v) => v?.meta && 'pluginKey' in v.meta && !v.meta.pluginKey,\n (v) => v.path.length,\n (v) => trimExtName(v.path).endsWith('index'),\n (v) => trimExtName(v.baseName),\n (v) => v.path.split('.').pop(),\n ],\n )\n }\n\n get groupedFiles(): DirectoryTree | null {\n return buildDirectoryTree([...this.#filesByPath.values()])\n }\n\n get treeNode(): TreeNode | null {\n return TreeNode.build([...this.#filesByPath.values()])\n }\n\n async add<T extends Array<KubbFile.File> = Array<KubbFile.File>>(...files: T): AddResult<T> {\n const promises = files.map((file) => {\n if (file.override) {\n return this.#add(file)\n }\n\n return this.#addOrAppend(file)\n })\n\n const resolvedFiles = await Promise.all(promises)\n\n if (files.length > 1) {\n return resolvedFiles as unknown as AddResult<T>\n }\n\n return resolvedFiles[0] as unknown as AddResult<T>\n }\n\n async #add(file: KubbFile.File): Promise<ResolvedFile> {\n const resolvedFile = createFile(file)\n\n this.#filesByPath.set(resolvedFile.path, resolvedFile)\n\n return resolvedFile\n }\n\n clear() {\n this.#filesByPath.clear()\n }\n\n async #addOrAppend(file: KubbFile.File): Promise<ResolvedFile> {\n const previousFile = this.#filesByPath.get(file.path)\n\n if (previousFile) {\n this.#filesByPath.delete(previousFile.path)\n\n return this.#add(mergeFile(previousFile, file))\n }\n return this.#add(file)\n }\n\n getCacheById(id: string): KubbFile.File | undefined {\n return [...this.#filesByPath.values()].find((file) => file.id === id)\n }\n\n getByPath(path: KubbFile.Path): KubbFile.ResolvedFile | undefined {\n return this.#filesByPath.get(path)\n }\n\n deleteByPath(path: KubbFile.Path): void {\n const cacheItem = this.getByPath(path)\n if (!cacheItem) {\n return\n }\n\n this.#filesByPath.delete(path)\n }\n\n async getBarrelFiles({ type, files, meta = {}, root, output, logger }: AddIndexesProps): Promise<KubbFile.File[]> {\n if (!type || type === 'propagate') {\n return []\n }\n\n const barrelManager = new BarrelManager({ logger })\n\n const pathToBuildFrom = join(root, output.path)\n\n if (trimExtName(pathToBuildFrom).endsWith('index')) {\n logger?.emit('warning', 'Output has the same fileName as the barrelFiles, please disable barrel generation')\n\n return []\n }\n\n const barrelFiles = barrelManager.getFiles({ files, root: pathToBuildFrom, meta })\n\n if (type === 'all') {\n return barrelFiles.map((file) => {\n return {\n ...file,\n exports: file.exports?.map((exportItem) => {\n return {\n ...exportItem,\n name: undefined,\n }\n }),\n }\n })\n }\n\n return barrelFiles.map((indexFile) => {\n return {\n ...indexFile,\n meta,\n }\n })\n }\n\n async write(...params: Parameters<typeof write>): ReturnType<typeof write> {\n return write(...params)\n }\n\n async read(...params: Parameters<typeof read>): ReturnType<typeof read> {\n return read(...params)\n }\n\n // statics\n static getMode(path: string | undefined | null): KubbFile.Mode {\n if (!path) {\n return 'split'\n }\n return extname(path) ? 'single' : 'split'\n }\n}\n\ntype GetSourceOptions = {\n extname?: KubbFile.Extname\n logger?: Logger\n}\n\nexport async function getSource<TMeta extends FileMetaBase = FileMetaBase>(\n file: ResolvedFile<TMeta>,\n { logger, extname }: GetSourceOptions = {},\n): Promise<string> {\n const parser = await getFileParser(file.extname)\n const source = await parser.print(file, { logger, extname })\n\n return parser.format(source).catch((err) => {\n console.warn(err)\n return source\n })\n}\n\nfunction mergeFile<TMeta extends FileMetaBase = FileMetaBase>(a: KubbFile.File<TMeta>, b: KubbFile.File<TMeta>): KubbFile.File<TMeta> {\n return {\n ...a,\n sources: [...(a.sources || []), ...(b.sources || [])],\n imports: [...(a.imports || []), ...(b.imports || [])],\n exports: [...(a.exports || []), ...(b.exports || [])],\n }\n}\n\nexport function combineSources(sources: Array<KubbFile.Source>): Array<KubbFile.Source> {\n return sources.reduce(\n (prev, curr) => {\n const prevByName = prev.findLast((imp) => imp.name && imp.name === curr.name)\n const prevByPathAndIsExportable = prev.findLast((imp) => imp.name === curr.name && imp.isExportable)\n\n if (prevByPathAndIsExportable) {\n // we already have an export that has the same name but uses `isExportable` (export type ...)\n return [...prev, curr]\n }\n\n if (prevByName) {\n prevByName.value = curr.value\n prevByName.isExportable = curr.isExportable\n prevByName.isTypeOnly = curr.isTypeOnly\n prevByName.isIndexable = curr.isIndexable\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Source>,\n )\n}\n\nexport function combineExports(exports: Array<KubbFile.Export>): Array<KubbFile.Export> {\n return orderBy(exports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).reduce(\n (prev, curr) => {\n const name = curr.name\n const prevByPath = prev.findLast((imp) => imp.path === curr.path)\n const prevByPathAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (export type ...)\n return prev\n }\n\n const uniquePrev = prev.findLast(\n (imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly && imp.asAlias === curr.asAlias,\n )\n\n // we already have an item that was unique enough or name field is empty or prev asAlias is set but current has no changes\n if (uniquePrev || (Array.isArray(name) && !name.length) || (prevByPath?.asAlias && !curr.asAlias)) {\n return prev\n }\n\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name: Array.isArray(name) ? [...new Set(name)] : name,\n },\n ]\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(curr.name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...curr.name])]\n\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Export>,\n )\n}\n\nexport function combineImports(imports: Array<KubbFile.Import>, exports: Array<KubbFile.Export>, source?: string): Array<KubbFile.Import> {\n return orderBy(imports, [\n (v) => !!Array.isArray(v.name),\n (v) => !v.isTypeOnly,\n (v) => v.path,\n (v) => !!v.name,\n (v) => (Array.isArray(v.name) ? orderBy(v.name) : v.name),\n ]).reduce(\n (prev, curr) => {\n let name = Array.isArray(curr.name) ? [...new Set(curr.name)] : curr.name\n\n const hasImportInSource = (importName: string) => {\n if (!source) {\n return true\n }\n\n const checker = (name?: string) => {\n return name && !!source.includes(name)\n }\n\n return checker(importName) || exports.some(({ name }) => (Array.isArray(name) ? name.some(checker) : checker(name)))\n }\n\n if (curr.path === curr.root) {\n // root and path are the same file, remove the \"./\" import\n return prev\n }\n\n // merge all names and check if the importName is being used in the generated source and if not filter those imports out\n if (Array.isArray(name)) {\n name = name.filter((item) => (typeof item === 'string' ? hasImportInSource(item) : hasImportInSource(item.propertyName)))\n }\n\n const prevByPath = prev.findLast((imp) => imp.path === curr.path && imp.isTypeOnly === curr.isTypeOnly)\n const uniquePrev = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly === curr.isTypeOnly)\n const prevByPathNameAndIsTypeOnly = prev.findLast((imp) => imp.path === curr.path && isDeepEqual(imp.name, name) && imp.isTypeOnly)\n\n if (prevByPathNameAndIsTypeOnly) {\n // we already have an export that has the same path but uses `isTypeOnly` (import type ...)\n return prev\n }\n\n // already unique enough or name is empty\n if (uniquePrev || (Array.isArray(name) && !name.length)) {\n return prev\n }\n\n // new item, append name\n if (!prevByPath) {\n return [\n ...prev,\n {\n ...curr,\n name,\n },\n ]\n }\n\n // merge all names when prev and current both have the same isTypeOnly set\n if (prevByPath && Array.isArray(prevByPath.name) && Array.isArray(name) && prevByPath.isTypeOnly === curr.isTypeOnly) {\n prevByPath.name = [...new Set([...prevByPath.name, ...name])]\n\n return prev\n }\n\n // no import was found in the source, ignore import\n if (!Array.isArray(name) && name && !hasImportInSource(name)) {\n return prev\n }\n\n return [...prev, curr]\n },\n [] as Array<KubbFile.Import>,\n )\n}\n\ntype WriteFilesProps = {\n root: Config['root']\n files: Array<KubbFile.ResolvedFile>\n extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>\n logger?: Logger\n dryRun?: boolean\n}\n/**\n * Global queue\n */\nconst queue = new PQueue({ concurrency: 100 })\n\nexport async function processFiles({ dryRun, root, extension, logger, files }: WriteFilesProps) {\n const orderedFiles = orderBy(files, [\n (v) => v?.meta && 'pluginKey' in v.meta && !v.meta.pluginKey,\n (v) => v.path.length,\n (v) => trimExtName(v.path).endsWith('index'),\n ])\n\n logger?.emit('debug', {\n date: new Date(),\n logs: [JSON.stringify({ files: orderedFiles }, null, 2)],\n fileName: 'kubb-files.log',\n })\n\n if (!dryRun) {\n const size = orderedFiles.length\n\n logger?.emit('progress_start', { id: 'files', size, message: 'Writing files ...' })\n const promises = orderedFiles.map(async (file) => {\n await queue.add(async () => {\n const message = file ? `Writing ${relative(root, file.path)}` : ''\n const extname = extension?.[file.extname] || undefined\n\n const source = await getSource(file, { logger, extname })\n\n await write(file.path, source, { sanity: false })\n\n logger?.emit('progressed', { id: 'files', message })\n })\n })\n\n await Promise.all(promises)\n\n logger?.emit('progress_stop', { id: 'files' })\n }\n\n return files\n}\n","import path from 'node:path'\nimport type { KubbFile } from '../fs/index.ts'\n\nimport { getRelativePath } from '../fs/index.ts'\nimport hash from 'object-hash'\nimport { combineExports, combineImports, combineSources } from '../FileManager.ts'\nimport type { Logger } from '../logger.ts'\nimport type { Config } from '../types.ts'\n\n/**\n * Generate a default banner for files created by Kubb\n * @returns A string with the default banner\n */\nexport function getDefaultBanner({ title, description, version, config }: { title?: string; description?: string; version?: string; config: Config }): string {\n try {\n let source = ''\n if ('path' in config.input) {\n source = path.basename(config.input.path)\n } else if ('data' in config.input) {\n source = 'text content'\n }\n\n let banner = '/**\\n* Generated by Kubb (https://kubb.dev/).\\n* Do not edit manually.\\n'\n\n if (config.output.defaultBanner === 'simple') {\n banner += '*/\\n'\n return banner\n }\n\n if (source) {\n banner += `* Source: ${source}\\n`\n }\n\n if (title) {\n banner += `* Title: ${title}\\n`\n }\n\n if (description) {\n const formattedDescription = description.replace(/\\n/gm, '\\n* ')\n banner += `* Description: ${formattedDescription}\\n`\n }\n\n if (version) {\n banner += `* OpenAPI spec version: ${version}\\n`\n }\n\n banner += '*/\\n'\n return banner\n } catch (_error) {\n // If there's any error in parsing the Oas data, return a simpler banner\n return '/**\\n* Generated by Kubb (https://kubb.dev/).\\n* Do not edit manually.\\n*/'\n }\n}\n\n/**\n * Helper to create a file with name and id set\n */\nexport function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta> {\n const extname = path.extname(file.baseName) as KubbFile.Extname\n\n if (!extname) {\n throw new Error(`No extname found for ${file.baseName}`)\n }\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n const exports = file.exports ? combineExports(file.exports) : []\n const imports = file.imports && source ? combineImports(file.imports, exports, source) : []\n const sources = file.sources ? combineSources(file.sources) : []\n\n return {\n ...file,\n id: hash({ path: file.path }),\n name: trimExtName(file.baseName),\n extname,\n imports: imports.map((item) => createFileImport(item)),\n exports: exports.map((item) => createFileExport(item)),\n sources: sources.map((item) => createFileSource(item)),\n meta: file.meta || ({} as TMeta),\n }\n}\n\n/**\n * Helper to create a fileImport with extname set\n */\nfunction createFileSource(source: KubbFile.Source): KubbFile.Source {\n return source\n}\n\n/**\n * Helper to create a fileImport with extname set\n */\nexport function createFileImport(imp: KubbFile.Import): KubbFile.ResolvedImport {\n return {\n ...imp,\n }\n}\n\n/**\n * Helper to create a fileExport with extname set\n */\nexport function createFileExport(exp: KubbFile.Export): KubbFile.ResolvedExport {\n return {\n ...exp,\n }\n}\n\nexport type ParserModule<TMeta extends object = object> = {\n format: (source: string) => Promise<string>\n /**\n * Convert a file to string\n */\n print: (file: KubbFile.ResolvedFile<TMeta>, options: PrintOptions) => Promise<string>\n}\n\nexport function createFileParser<TMeta extends object = object>(parser: ParserModule<TMeta>): ParserModule<TMeta> {\n return parser\n}\n\ntype PrintOptions = {\n extname?: KubbFile.Extname\n logger?: Logger\n}\n\nconst typeScriptParser = createFileParser({\n async format(source) {\n const module = await import('@kubb/parser-ts')\n\n return module.format(source)\n },\n async print(file, options = { extname: '.ts' }) {\n const module = await import('@kubb/parser-ts')\n\n const source = file.sources.map((item) => item.value).join('\\n\\n')\n\n const importNodes = file.imports\n .map((item) => {\n const importPath = item.root ? getRelativePath(item.root, item.path) : item.path\n const hasExtname = !!path.extname(importPath)\n\n return module.factory.createImportDeclaration({\n name: item.name,\n path: options.extname && hasExtname ? `${trimExtName(importPath)}${options.extname}` : item.root ? trimExtName(importPath) : importPath,\n isTypeOnly: item.isTypeOnly,\n })\n })\n .filter(Boolean)\n\n const exportNodes = file.exports\n .map((item) => {\n const exportPath = item.path\n\n const hasExtname = !!path.extname(exportPath)\n\n return module.factory.createExportDeclaration({\n name: item.name,\n path: options.extname && hasExtname ? `${trimExtName(item.path)}${options.extname}` : trimExtName(item.path),\n isTypeOnly: item.isTypeOnly,\n asAlias: item.asAlias,\n })\n })\n .filter(Boolean)\n\n return [file.banner, module.print([...importNodes, ...exportNodes]), source, file.footer].join('\\n')\n },\n})\n\nconst tsxParser = createFileParser({\n async format(source) {\n const module = await import('@kubb/parser-ts')\n //4 = tsx\n return module.format(source)\n },\n async print(file, options = { extname: '.tsx' }) {\n return typeScriptParser.print(file, options)\n },\n})\n\nconst defaultParser = createFileParser({\n async format(source) {\n return source\n },\n async print(file) {\n return file.sources.map((item) => item.value).join('\\n\\n')\n },\n})\n\nconst parsers: Record<KubbFile.Extname, ParserModule<any>> = {\n '.ts': typeScriptParser,\n '.js': typeScriptParser,\n '.jsx': tsxParser,\n '.tsx': tsxParser,\n '.json': defaultParser,\n}\n\nexport async function getFileParser<TMeta extends object = object>(extname: KubbFile.Extname | undefined): Promise<ParserModule<TMeta>> {\n if (!extname) {\n return defaultParser\n }\n\n const parser = parsers[extname]\n\n if (!parser) {\n console.warn(`[parser] No parser found for ${extname}, default parser will be used`)\n }\n\n return parser || defaultParser\n}\n\nfunction trimExtName(text: string): string {\n const extname = text.split('.').pop()\n\n return text.replace(`.${extname}`, '')\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/chunks/prompt.mjs"],"names":["x","y","f","F","u","e","C","o","B","r","c","v"],"mappings":"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,IAAG,OAAK,GAAK,IAAA,CAAA,IAAG,KAAG,GAAK,IAAA,GAAA,IAAK,KAAG,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,GAAA,IAAK,KAAG,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,GAAK,IAAA,CAAA,IAAG,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,GAAK,IAAA,CAAA,IAAG,KAAG,GAAK,IAAA,GAAA,IAAK,KAAG,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,GAAK,IAAA,CAAA,IAAG,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,GAAK,IAAA,CAAA,IAAG,KAAG,GAAK,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,CAAG,IAAA,GAAA,IAAK,KAAG,GAAK,IAAA,GAAA,IAAK,CAAG,IAAA,CAAA,IAAG,OAAK,GAAK,IAAA,CAAA,IAAG,KAAG,GAAK,IAAA,GAAA,IAAK,KAAG,CAAG,IAAA,GAAA,IAAK,OAAK,CAAG,IAAA,CAAA,IAAG,OAAK,GAAK,IAAA,CAAA,IAAG,KAAG,GAAK,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,CAAG,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,KAAG,IAAM,IAAA,CAAA,IAAG,QAAM,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG,IAAA,CAAA,IAAG,QAAM,IAAM,IAAA,CAAA,IAAG,KAAG,IAAM,IAAA,IAAA,IAAM,KAAG,CAAG,IAAA,IAAA,IAAM,QAAM,CAAG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","file":"prompt-UVNS6X7J.js","sourcesContent":["import 'node:util';\nimport g, { stdin, stdout } from 'node:process';\nimport f from 'node:readline';\nimport { WriteStream } from 'node:tty';\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar src;\nvar hasRequiredSrc;\n\nfunction requireSrc () {\n\tif (hasRequiredSrc) return src;\n\thasRequiredSrc = 1;\n\n\tconst ESC = '\\x1B';\n\tconst CSI = `${ESC}[`;\n\tconst beep = '\\u0007';\n\n\tconst cursor = {\n\t to(x, y) {\n\t if (!y) return `${CSI}${x + 1}G`;\n\t return `${CSI}${y + 1};${x + 1}H`;\n\t },\n\t move(x, y) {\n\t let ret = '';\n\n\t if (x < 0) ret += `${CSI}${-x}D`;\n\t else if (x > 0) ret += `${CSI}${x}C`;\n\n\t if (y < 0) ret += `${CSI}${-y}A`;\n\t else if (y > 0) ret += `${CSI}${y}B`;\n\n\t return ret;\n\t },\n\t up: (count = 1) => `${CSI}${count}A`,\n\t down: (count = 1) => `${CSI}${count}B`,\n\t forward: (count = 1) => `${CSI}${count}C`,\n\t backward: (count = 1) => `${CSI}${count}D`,\n\t nextLine: (count = 1) => `${CSI}E`.repeat(count),\n\t prevLine: (count = 1) => `${CSI}F`.repeat(count),\n\t left: `${CSI}G`,\n\t hide: `${CSI}?25l`,\n\t show: `${CSI}?25h`,\n\t save: `${ESC}7`,\n\t restore: `${ESC}8`\n\t};\n\n\tconst scroll = {\n\t up: (count = 1) => `${CSI}S`.repeat(count),\n\t down: (count = 1) => `${CSI}T`.repeat(count)\n\t};\n\n\tconst erase = {\n\t screen: `${CSI}2J`,\n\t up: (count = 1) => `${CSI}1J`.repeat(count),\n\t down: (count = 1) => `${CSI}J`.repeat(count),\n\t line: `${CSI}2K`,\n\t lineEnd: `${CSI}K`,\n\t lineStart: `${CSI}1K`,\n\t lines(count) {\n\t let clear = '';\n\t for (let i = 0; i < count; i++)\n\t clear += this.line + (i < count - 1 ? cursor.up() : '');\n\t if (count)\n\t clear += cursor.left;\n\t return clear;\n\t }\n\t};\n\n\tsrc = { cursor, scroll, erase, beep };\n\treturn src;\n}\n\nvar srcExports = requireSrc();\n\nvar picocolors = {exports: {}};\n\nvar hasRequiredPicocolors;\n\nfunction requirePicocolors () {\n\tif (hasRequiredPicocolors) return picocolors.exports;\n\thasRequiredPicocolors = 1;\n\tlet p = process || {}, argv = p.argv || [], env = p.env || {};\n\tlet isColorSupported =\n\t\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI);\n\n\tlet formatter = (open, close, replace = open) =>\n\t\tinput => {\n\t\t\tlet string = \"\" + input, index = string.indexOf(close, open.length);\n\t\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t\t};\n\n\tlet replaceClose = (string, close, replace, index) => {\n\t\tlet result = \"\", cursor = 0;\n\t\tdo {\n\t\t\tresult += string.substring(cursor, index) + replace;\n\t\t\tcursor = index + close.length;\n\t\t\tindex = string.indexOf(close, cursor);\n\t\t} while (~index)\n\t\treturn result + string.substring(cursor)\n\t};\n\n\tlet createColors = (enabled = isColorSupported) => {\n\t\tlet f = enabled ? formatter : () => String;\n\t\treturn {\n\t\t\tisColorSupported: enabled,\n\t\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t\t}\n\t};\n\n\tpicocolors.exports = createColors();\n\tpicocolors.exports.createColors = createColors;\n\treturn picocolors.exports;\n}\n\nvar picocolorsExports = /*@__PURE__*/ requirePicocolors();\nconst e = /*@__PURE__*/getDefaultExportFromCjs(picocolorsExports);\n\nfunction J({onlyFirst:t=false}={}){const F=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C))\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))\"].join(\"|\");return new RegExp(F,t?void 0:\"g\")}const Q=J();function T$1(t){if(typeof t!=\"string\")throw new TypeError(`Expected a \\`string\\`, got \\`${typeof t}\\``);return t.replace(Q,\"\")}function O(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var P$1={exports:{}};(function(t){var u={};t.exports=u,u.eastAsianWidth=function(e){var s=e.charCodeAt(0),i=e.length==2?e.charCodeAt(1):0,D=s;return 55296<=s&&s<=56319&&56320<=i&&i<=57343&&(s&=1023,i&=1023,D=s<<10|i,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?\"F\":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?\"H\":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?\"W\":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?\"Na\":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?\"A\":\"N\"},u.characterLength=function(e){var s=this.eastAsianWidth(e);return s==\"F\"||s==\"W\"||s==\"A\"?2:1};function F(e){return e.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[^\\uD800-\\uDFFF]/g)||[]}u.length=function(e){for(var s=F(e),i=0,D=0;D<s.length;D++)i=i+this.characterLength(s[D]);return i},u.slice=function(e,s,i){textLen=u.length(e),s=s||0,i=i||1,s<0&&(s=textLen+s),i<0&&(i=textLen+i);for(var D=\"\",C=0,o=F(e),E=0;E<o.length;E++){var a=o[E],n=u.length(a);if(C>=s-(n==2?1:0))if(C+n<=i)D+=a;else break;C+=n;}return D};})(P$1);var X=P$1.exports;const DD=O(X);var uD=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};const FD=O(uD);function A$1(t,u={}){if(typeof t!=\"string\"||t.length===0||(u={ambiguousIsNarrow:true,...u},t=T$1(t),t.length===0))return 0;t=t.replace(FD(),\" \");const F=u.ambiguousIsNarrow?1:2;let e=0;for(const s of t){const i=s.codePointAt(0);if(i<=31||i>=127&&i<=159||i>=768&&i<=879)continue;switch(DD.eastAsianWidth(s)){case \"F\":case \"W\":e+=2;break;case \"A\":e+=F;break;default:e+=1;}}return e}const m=10,L$1=(t=0)=>u=>`\\x1B[${u+t}m`,N=(t=0)=>u=>`\\x1B[${38+t};5;${u}m`,I=(t=0)=>(u,F,e)=>`\\x1B[${38+t};2;${u};${F};${e}m`,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],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],blackBright:[90,39],gray:[90,39],grey:[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],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(r.modifier);const tD=Object.keys(r.color),eD=Object.keys(r.bgColor);[...tD,...eD];function sD(){const t=new Map;for(const[u,F]of Object.entries(r)){for(const[e,s]of Object.entries(F))r[e]={open:`\\x1B[${s[0]}m`,close:`\\x1B[${s[1]}m`},F[e]=r[e],t.set(s[0],s[1]);Object.defineProperty(r,u,{value:F,enumerable:false});}return Object.defineProperty(r,\"codes\",{value:t,enumerable:false}),r.color.close=\"\\x1B[39m\",r.bgColor.close=\"\\x1B[49m\",r.color.ansi=L$1(),r.color.ansi256=N(),r.color.ansi16m=I(),r.bgColor.ansi=L$1(m),r.bgColor.ansi256=N(m),r.bgColor.ansi16m=I(m),Object.defineProperties(r,{rgbToAnsi256:{value:(u,F,e)=>u===F&&F===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(e/255*5),enumerable:false},hexToRgb:{value:u=>{const F=/[a-f\\d]{6}|[a-f\\d]{3}/i.exec(u.toString(16));if(!F)return [0,0,0];let[e]=F;e.length===3&&(e=[...e].map(i=>i+i).join(\"\"));const s=Number.parseInt(e,16);return [s>>16&255,s>>8&255,s&255]},enumerable:false},hexToAnsi256:{value:u=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:false},ansi256ToAnsi:{value:u=>{if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,e,s;if(u>=232)F=((u-232)*10+8)/255,e=F,s=F;else {u-=16;const C=u%36;F=Math.floor(u/36)/5,e=Math.floor(C/6)/5,s=C%6/5;}const i=Math.max(F,e,s)*2;if(i===0)return 30;let D=30+(Math.round(s)<<2|Math.round(e)<<1|Math.round(F));return i===2&&(D+=60),D},enumerable:false},rgbToAnsi:{value:(u,F,e)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,e)),enumerable:false},hexToAnsi:{value:u=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:false}}),r}const iD=sD(),v=new Set([\"\\x1B\",\"\\x9B\"]),CD=39,w$1=\"\\x07\",W$1=\"[\",rD=\"]\",R=\"m\",y=`${rD}8;;`,V$1=t=>`${v.values().next().value}${W$1}${t}${R}`,z=t=>`${v.values().next().value}${y}${t}${w$1}`,ED=t=>t.split(\" \").map(u=>A$1(u)),_=(t,u,F)=>{const e=[...u];let s=false,i=false,D=A$1(T$1(t[t.length-1]));for(const[C,o]of e.entries()){const E=A$1(o);if(D+E<=F?t[t.length-1]+=o:(t.push(o),D=0),v.has(o)&&(s=true,i=e.slice(C+1).join(\"\").startsWith(y)),s){i?o===w$1&&(s=false,i=false):o===R&&(s=false);continue}D+=E,D===F&&C<e.length-1&&(t.push(\"\"),D=0);}!D&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop());},nD=t=>{const u=t.split(\" \");let F=u.length;for(;F>0&&!(A$1(u[F-1])>0);)F--;return F===u.length?t:u.slice(0,F).join(\" \")+u.slice(F).join(\"\")},oD=(t,u,F={})=>{if(F.trim!==false&&t.trim()===\"\")return \"\";let e=\"\",s,i;const D=ED(t);let C=[\"\"];for(const[E,a]of t.split(\" \").entries()){F.trim!==false&&(C[C.length-1]=C[C.length-1].trimStart());let n=A$1(C[C.length-1]);if(E!==0&&(n>=u&&(F.wordWrap===false||F.trim===false)&&(C.push(\"\"),n=0),(n>0||F.trim===false)&&(C[C.length-1]+=\" \",n++)),F.hard&&D[E]>u){const B=u-n,p=1+Math.floor((D[E]-B-1)/u);Math.floor((D[E]-1)/u)<p&&C.push(\"\"),_(C,a,u);continue}if(n+D[E]>u&&n>0&&D[E]>0){if(F.wordWrap===false&&n<u){_(C,a,u);continue}C.push(\"\");}if(n+D[E]>u&&F.wordWrap===false){_(C,a,u);continue}C[C.length-1]+=a;}F.trim!==false&&(C=C.map(E=>nD(E)));const o=[...C.join(`\n`)];for(const[E,a]of o.entries()){if(e+=a,v.has(a)){const{groups:B}=new RegExp(`(?:\\\\${W$1}(?<code>\\\\d+)m|\\\\${y}(?<uri>.*)${w$1})`).exec(o.slice(E).join(\"\"))||{groups:{}};if(B.code!==void 0){const p=Number.parseFloat(B.code);s=p===CD?void 0:p;}else B.uri!==void 0&&(i=B.uri.length===0?void 0:B.uri);}const n=iD.codes.get(Number(s));o[E+1]===`\n`?(i&&(e+=z(\"\")),s&&n&&(e+=V$1(n))):a===`\n`&&(s&&n&&(e+=V$1(s)),i&&(e+=z(i)));}return e};function G(t,u,F){return String(t).normalize().replace(/\\r\\n/g,`\n`).split(`\n`).map(e=>oD(e,u,F)).join(`\n`)}const aD=[\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\",\"cancel\"],c={actions:new Set(aD),aliases:new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"],[\"\u0003\",\"cancel\"],[\"escape\",\"cancel\"]])};function k$1(t,u){if(typeof t==\"string\")return c.aliases.get(t)===u;for(const F of t)if(F!==void 0&&k$1(F,u))return true;return false}function lD(t,u){if(t===u)return;const F=t.split(`\n`),e=u.split(`\n`),s=[];for(let i=0;i<Math.max(F.length,e.length);i++)F[i]!==e[i]&&s.push(i);return s}globalThis.process.platform.startsWith(\"win\");const S=Symbol(\"clack:cancel\");function d$1(t,u){const F=t;F.isTTY&&F.setRawMode(u);}var AD=Object.defineProperty,pD=(t,u,F)=>u in t?AD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,h=(t,u,F)=>(pD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class x{constructor(u,F=true){h(this,\"input\"),h(this,\"output\"),h(this,\"_abortSignal\"),h(this,\"rl\"),h(this,\"opts\"),h(this,\"_render\"),h(this,\"_track\",false),h(this,\"_prevFrame\",\"\"),h(this,\"_subscribers\",new Map),h(this,\"_cursor\",0),h(this,\"state\",\"initial\"),h(this,\"error\",\"\"),h(this,\"value\");const{input:e=stdin,output:s=stdout,render:i,signal:D,...C}=u;this.opts=C,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=F,this._abortSignal=D,this.input=e,this.output=s;}unsubscribe(){this._subscribers.clear();}setSubscriber(u,F){const e=this._subscribers.get(u)??[];e.push(F),this._subscribers.set(u,e);}on(u,F){this.setSubscriber(u,{cb:F});}once(u,F){this.setSubscriber(u,{cb:F,once:true});}emit(u,...F){const e=this._subscribers.get(u)??[],s=[];for(const i of e)i.cb(...F),i.once&&s.push(()=>e.splice(e.indexOf(i),1));for(const i of s)i();}prompt(){return new Promise((u,F)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=\"cancel\",this.close(),u(S);this._abortSignal.addEventListener(\"abort\",()=>{this.state=\"cancel\",this.close();},{once:true});}const e=new WriteStream(0);e._write=(s,i,D)=>{this._track&&(this.value=this.rl?.line.replace(/\\t/g,\"\"),this._cursor=this.rl?.cursor??0,this.emit(\"value\",this.value)),D();},this.input.pipe(e),this.rl=f.createInterface({input:this.input,output:e,tabSize:2,prompt:\"\",escapeCodeTimeout:50}),f.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on(\"keypress\",this.onKeypress),d$1(this.input,true),this.output.on(\"resize\",this.render),this.render(),this.once(\"submit\",()=>{this.output.write(srcExports.cursor.show),this.output.off(\"resize\",this.render),d$1(this.input,false),u(this.value);}),this.once(\"cancel\",()=>{this.output.write(srcExports.cursor.show),this.output.off(\"resize\",this.render),d$1(this.input,false),u(S);});})}onKeypress(u,F){if(this.state===\"error\"&&(this.state=\"active\"),F?.name&&(!this._track&&c.aliases.has(F.name)&&this.emit(\"cursor\",c.aliases.get(F.name)),c.actions.has(F.name)&&this.emit(\"cursor\",F.name)),u&&(u.toLowerCase()===\"y\"||u.toLowerCase()===\"n\")&&this.emit(\"confirm\",u.toLowerCase()===\"y\"),u===\"\t\"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit(\"value\",this.opts.placeholder))),u&&this.emit(\"key\",u.toLowerCase()),F?.name===\"return\"){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=\"error\",this.rl?.write(this.value));}this.state!==\"error\"&&(this.state=\"submit\");}k$1([u,F?.name,F?.sequence],\"cancel\")&&(this.state=\"cancel\"),(this.state===\"submit\"||this.state===\"cancel\")&&this.emit(\"finalize\"),this.render(),(this.state===\"submit\"||this.state===\"cancel\")&&this.close();}close(){this.input.unpipe(),this.input.removeListener(\"keypress\",this.onKeypress),this.output.write(`\n`),d$1(this.input,false),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe();}restoreCursor(){const u=G(this._prevFrame,process.stdout.columns,{hard:true}).split(`\n`).length-1;this.output.write(srcExports.cursor.move(-999,u*-1));}render(){const u=G(this._render(this)??\"\",process.stdout.columns,{hard:true});if(u!==this._prevFrame){if(this.state===\"initial\")this.output.write(srcExports.cursor.hide);else {const F=lD(this._prevFrame,u);if(this.restoreCursor(),F&&F?.length===1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.lines(1));const s=u.split(`\n`);this.output.write(s[e]),this._prevFrame=u,this.output.write(srcExports.cursor.move(0,s.length-e-1));return}if(F&&F?.length>1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.down());const s=u.split(`\n`).slice(e);this.output.write(s.join(`\n`)),this._prevFrame=u;return}this.output.write(srcExports.erase.down());}this.output.write(u),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=u;}}}class fD extends x{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(u){super(u,false),this.value=!!u.initialValue,this.on(\"value\",()=>{this.value=this._value;}),this.on(\"confirm\",F=>{this.output.write(srcExports.cursor.move(0,-1)),this.value=F,this.state=\"submit\",this.close();}),this.on(\"cursor\",()=>{this.value=!this.value;});}}var bD=Object.defineProperty,mD=(t,u,F)=>u in t?bD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,Y=(t,u,F)=>(mD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);let wD=class extends x{constructor(u){super(u,false),Y(this,\"options\"),Y(this,\"cursor\",0),this.options=u.options,this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:F})=>F===u.cursorAt),0),this.on(\"key\",F=>{F===\"a\"&&this.toggleAll();}),this.on(\"cursor\",F=>{switch(F){case \"left\":case \"up\":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case \"down\":case \"right\":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case \"space\":this.toggleValue();break}});}get _value(){return this.options[this.cursor].value}toggleAll(){const u=this.value.length===this.options.length;this.value=u?[]:this.options.map(F=>F.value);}toggleValue(){const u=this.value.includes(this._value);this.value=u?this.value.filter(F=>F!==this._value):[...this.value,this._value];}};var SD=Object.defineProperty,$D=(t,u,F)=>u in t?SD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,q=(t,u,F)=>($D(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class jD extends x{constructor(u){super(u,false),q(this,\"options\"),q(this,\"cursor\",0),this.options=u.options,this.cursor=this.options.findIndex(({value:F})=>F===u.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on(\"cursor\",F=>{switch(F){case \"left\":case \"up\":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case \"down\":case \"right\":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue();});}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value;}}class PD extends x{get valueWithCursor(){if(this.state===\"submit\")return this.value;if(this.cursor>=this.value.length)return `${this.value}\\u2588`;const u=this.value.slice(0,this.cursor),[F,...e$1]=this.value.slice(this.cursor);return `${u}${e.inverse(F)}${e$1.join(\"\")}`}get cursor(){return this._cursor}constructor(u){super(u),this.on(\"finalize\",()=>{this.value||(this.value=u.defaultValue);});}}\n\nfunction ce(){return g.platform!==\"win32\"?g.env.TERM!==\"linux\":!!g.env.CI||!!g.env.WT_SESSION||!!g.env.TERMINUS_SUBLIME||g.env.ConEmuTask===\"{cmd::Cmder}\"||g.env.TERM_PROGRAM===\"Terminus-Sublime\"||g.env.TERM_PROGRAM===\"vscode\"||g.env.TERM===\"xterm-256color\"||g.env.TERM===\"alacritty\"||g.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const V=ce(),u=(t,n)=>V?t:n,le=u(\"❯\", \">\"),L=u(\"■\", \"x\"),W=u(\"▲\", \"x\"),C=u(\"✔\", \"√\"),o=u(\"\"),d=u(\"\"),k=u(\"\\u25CF\",\">\"),P=u(\"\\u25CB\",\" \"),A=u(\"\\u25FB\",\"[\\u2022]\"),T=u(\"\\u25FC\",\"[+]\"),F=u(\"\\u25FB\",\"[ ]\"),w=t=>{switch(t){case \"initial\":case \"active\":return e.cyan(le);case \"cancel\":return e.red(L);case \"error\":return e.yellow(W);case \"submit\":return e.green(C)}},B=t=>{const{cursor:n,options:s,style:r}=t,i=t.maxItems??Number.POSITIVE_INFINITY,a=Math.max(process.stdout.rows-4,0),c=Math.min(a,Math.max(i,5));let l=0;n>=l+c-3?l=Math.max(Math.min(n-c+3,s.length-c),0):n<l+2&&(l=Math.max(n-2,0));const $=c<s.length&&l>0,p=c<s.length&&l+c<s.length;return s.slice(l,l+c).map((M,v,x)=>{const j=v===0&&$,E=v===x.length-1&&p;return j||E?e.dim(\"...\"):r(M,v+l===n)})},he=t=>new PD({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,render(){const n=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,s=t.placeholder?e.inverse(t.placeholder[0])+e.dim(t.placeholder.slice(1)):e.inverse(e.hidden(\"_\")),r=this.value?this.valueWithCursor:s;switch(this.state){case \"error\":return `${n.trim()}\n${e.yellow(o)} ${r}\n${e.yellow(d)} ${e.yellow(this.error)}\n`;case \"submit\":return `${n}${e.gray(o)} ${e.dim(this.value||t.placeholder)}`;case \"cancel\":return `${n}${e.gray(o)} ${e.strikethrough(e.dim(this.value??\"\"))}${this.value?.trim()?`\n${e.gray(o)}`:\"\"}`;default:return `${n}${e.cyan(o)} ${r}\n${e.cyan(d)}\n`}}}).prompt(),ye=t=>{const n=t.active??\"Yes\",s=t.inactive??\"No\";return new fD({active:n,inactive:s,initialValue:t.initialValue??true,render(){const r=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,i=this.value?n:s;switch(this.state){case \"submit\":return `${r}${e.gray(o)} ${e.dim(i)}`;case \"cancel\":return `${r}${e.gray(o)} ${e.strikethrough(e.dim(i))}\n${e.gray(o)}`;default:return `${r}${e.cyan(o)} ${this.value?`${e.green(k)} ${n}`:`${e.dim(P)} ${e.dim(n)}`} ${e.dim(\"/\")} ${this.value?`${e.dim(P)} ${e.dim(s)}`:`${e.green(k)} ${s}`}\n${e.cyan(d)}\n`}}}).prompt()},ve=t=>{const n=(s,r)=>{const i=s.label??String(s.value);switch(r){case \"selected\":return `${e.dim(i)}`;case \"active\":return `${e.green(k)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`;case \"cancelled\":return `${e.strikethrough(e.dim(i))}`;default:return `${e.dim(P)} ${e.dim(i)}`}};return new jD({options:t.options,initialValue:t.initialValue,render(){const s=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`;switch(this.state){case \"submit\":return `${s}${e.gray(o)} ${n(this.options[this.cursor],\"selected\")}`;case \"cancel\":return `${s}${e.gray(o)} ${n(this.options[this.cursor],\"cancelled\")}\n${e.gray(o)}`;default:return `${s}${e.cyan(o)} ${B({cursor:this.cursor,options:this.options,maxItems:t.maxItems,style:(r,i)=>n(r,i?\"active\":\"inactive\")}).join(`\n${e.cyan(o)} `)}\n${e.cyan(d)}\n`}}}).prompt()},fe=t=>{const n=(s,r)=>{const i=s.label??String(s.value);return r===\"active\"?`${e.cyan(A)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`:r===\"selected\"?`${e.green(T)} ${e.dim(i)}`:r===\"cancelled\"?`${e.strikethrough(e.dim(i))}`:r===\"active-selected\"?`${e.green(T)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`:r===\"submitted\"?`${e.dim(i)}`:`${e.dim(F)} ${e.dim(i)}`};return new wD({options:t.options,initialValues:t.initialValues,required:t.required??true,cursorAt:t.cursorAt,validate(s){if(this.required&&s.length===0)return `Please select at least one option.\n${e.reset(e.dim(`Press ${e.gray(e.bgWhite(e.inverse(\" space \")))} to select, ${e.gray(e.bgWhite(e.inverse(\" enter \")))} to submit`))}`},render(){const s=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,r=(i,a)=>{const c=this.value.includes(i.value);return a&&c?n(i,\"active-selected\"):c?n(i,\"selected\"):n(i,a?\"active\":\"inactive\")};switch(this.state){case \"submit\":return `${s}${e.gray(o)} ${this.options.filter(({value:i})=>this.value.includes(i)).map(i=>n(i,\"submitted\")).join(e.dim(\", \"))||e.dim(\"none\")}`;case \"cancel\":{const i=this.options.filter(({value:a})=>this.value.includes(a)).map(a=>n(a,\"cancelled\")).join(e.dim(\", \"));return `${s}${e.gray(o)} ${i.trim()?`${i}\n${e.gray(o)}`:\"\"}`}case \"error\":{const i=this.error.split(`\n`).map((a,c)=>c===0?`${e.yellow(d)} ${e.yellow(a)}`:` ${a}`).join(`\n`);return `${s+e.yellow(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(`\n${e.yellow(o)} `)}\n${i}\n`}default:return `${s}${e.cyan(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(`\n${e.cyan(o)} `)}\n${e.cyan(d)}\n`}}}).prompt()};`${e.gray(o)} `;\n\nconst kCancel = Symbol.for(\"cancel\");\nasync function prompt(message, opts = {}) {\n const handleCancel = (value) => {\n if (typeof value !== \"symbol\" || value.toString() !== \"Symbol(clack:cancel)\") {\n return value;\n }\n switch (opts.cancel) {\n case \"reject\": {\n const error = new Error(\"Prompt cancelled.\");\n error.name = \"ConsolaPromptCancelledError\";\n if (Error.captureStackTrace) {\n Error.captureStackTrace(error, prompt);\n }\n throw error;\n }\n case \"undefined\": {\n return void 0;\n }\n case \"null\": {\n return null;\n }\n case \"symbol\": {\n return kCancel;\n }\n default:\n case \"default\": {\n return opts.default ?? opts.initial;\n }\n }\n };\n if (!opts.type || opts.type === \"text\") {\n return await he({\n message,\n defaultValue: opts.default,\n placeholder: opts.placeholder,\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"confirm\") {\n return await ye({\n message,\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"select\") {\n return await ve({\n message,\n options: opts.options.map(\n (o) => typeof o === \"string\" ? { value: o, label: o } : o\n ),\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"multiselect\") {\n return await fe({\n message,\n options: opts.options.map(\n (o) => typeof o === \"string\" ? { value: o, label: o } : o\n ),\n required: opts.required,\n initialValues: opts.initial\n }).then(handleCancel);\n }\n throw new Error(`Unknown prompt type: ${opts.type}`);\n}\n\nexport { kCancel, prompt };\n"]}
|