@sanity/pkg-utils 1.16.1 → 1.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6,13 +6,13 @@ Object.defineProperty(exports, '__esModule', {
6
6
 
7
7
  var _resolveBuildContext = require('./_chunks/_resolveBuildContext-0d61dcca.js');
8
8
 
9
- var build = require('./_chunks/build-8af0e4f8.js');
9
+ var build = require('./_chunks/build-a822eb55.js');
10
10
 
11
- var index = require('./_chunks/index-6065d471.js');
11
+ var index = require('./_chunks/index-7ec7f61a.js');
12
12
 
13
13
  var check = require('./_chunks/check-f86cdc15.js');
14
14
 
15
- var watch = require('./_chunks/watch-1182e1e4.js');
15
+ var watch = require('./_chunks/watch-79594e7f.js');
16
16
 
17
17
  require('path');
18
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/pkg-utils",
3
- "version": "1.16.1",
3
+ "version": "1.16.2",
4
4
  "author": "Sanity.io <hello@sanity.io>",
5
5
  "license": "MIT",
6
6
  "description": "Simple utilities for modern npm packages.",
@@ -110,6 +110,7 @@
110
110
  "eslint-plugin-prettier": "^4.2.1",
111
111
  "husky": "^8.0.1",
112
112
  "lint-staged": "^12.5.0",
113
+ "outdent": "^0.8.0",
113
114
  "npm-run-all": "^4.1.5",
114
115
  "rollup-plugin-visualizer": "^5.8.2",
115
116
  "semantic-release": "^19.0.5",
@@ -0,0 +1,86 @@
1
+ import fs from 'fs/promises'
2
+ import path from 'path'
3
+
4
+ /**
5
+ * '@microsoft/api-extractor' omits declare module blocks
6
+ * This is a workaround that finds all module blocks in ts files and appends them to the result
7
+ */
8
+ export async function _appendModuleBlocks({
9
+ tsOutDir,
10
+ extractTypesOutFile,
11
+ }: {
12
+ tsOutDir: string
13
+ extractTypesOutFile: string
14
+ }): Promise<void> {
15
+ const moduleBlocks = await _extractModuleBlocksFromTypes(tsOutDir)
16
+
17
+ if (moduleBlocks.length) {
18
+ await fs.appendFile(extractTypesOutFile, '\n' + moduleBlocks.join('\n\n'))
19
+ }
20
+ }
21
+
22
+ async function _extractModuleBlocksFromTypes(dirname: string): Promise<string[]> {
23
+ const moduleBlocks: string[] = []
24
+
25
+ const files = await _getFileList(dirname)
26
+
27
+ for (const fileName of files) {
28
+ const content = await fs.readFile(path.resolve(dirname, fileName), {
29
+ encoding: 'utf-8',
30
+ })
31
+
32
+ if (content.includes('declare module')) {
33
+ moduleBlocks.push(..._extractModuleBlocks(content))
34
+ }
35
+ }
36
+
37
+ return moduleBlocks
38
+ }
39
+
40
+ async function _getFileList(dirName: string): Promise<string[]> {
41
+ let files: string[] = []
42
+ const filesInCurrentDir = await fs.readdir(dirName, {withFileTypes: true})
43
+
44
+ for (const fileInDir of filesInCurrentDir) {
45
+ if (fileInDir.isDirectory()) {
46
+ files = [...files, ...(await _getFileList(path.resolve(dirName, fileInDir.name)))]
47
+ } else {
48
+ files.push(path.resolve(dirName, fileInDir.name))
49
+ }
50
+ }
51
+
52
+ return files
53
+ }
54
+
55
+ export function _extractModuleBlocks(fileContent: string): string[] {
56
+ const moduleBlocks: string[] = []
57
+
58
+ let moduleIndentLevel = 0
59
+ let moduleLines: string[] = []
60
+
61
+ const lines = fileContent.split('\n')
62
+
63
+ for (const line of lines) {
64
+ if (!moduleLines.length) {
65
+ const moduleIndex = line.indexOf('declare module')
66
+ const isModuleStart = moduleIndex > -1
67
+
68
+ if (isModuleStart) {
69
+ moduleIndentLevel = moduleIndex
70
+ moduleLines = [line]
71
+ }
72
+ } else {
73
+ moduleLines.push(line)
74
+ const blockEndIndex = line.indexOf('}')
75
+
76
+ if (blockEndIndex === moduleIndentLevel) {
77
+ moduleBlocks.push(
78
+ moduleLines.map((l) => l.substring(moduleIndentLevel, l.length)).join('\n')
79
+ )
80
+ moduleLines = []
81
+ }
82
+ }
83
+ }
84
+
85
+ return moduleBlocks
86
+ }
@@ -4,6 +4,7 @@ import {ExtractorMessage} from '@microsoft/api-extractor'
4
4
  import rimrafCallback from 'rimraf'
5
5
  import {_BuildContext} from '../../_core'
6
6
  import {_buildTypes} from './_buildTypes'
7
+ import {_appendModuleBlocks} from './_declareModuleFix'
7
8
  import {_DtsError} from './_DtsError'
8
9
  import {_extractTypes} from './_extractTypes'
9
10
  import {_DtsResult, _DtsTask, _DtsWatchTask} from './_types'
@@ -34,7 +35,6 @@ export async function _doExtract(
34
35
  const tmpPath = path.resolve(outDir, '__tmp__')
35
36
 
36
37
  await _buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})
37
-
38
38
  const messages: ExtractorMessage[] = []
39
39
 
40
40
  const results: {sourcePath: string; filePath: string}[] = []
@@ -62,6 +62,11 @@ export async function _doExtract(
62
62
  distPath: outDir,
63
63
  })
64
64
 
65
+ await _appendModuleBlocks({
66
+ tsOutDir: tmpPath,
67
+ extractTypesOutFile: path.resolve(outDir, targetPath),
68
+ })
69
+
65
70
  messages.push(...result.messages)
66
71
 
67
72
  if (result.messages.some((msg) => msg.logLevel === 'error')) {
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-6065d471.js","sources":["../../src/node/_printExtractMessages.ts","../../src/node/_tasks/dts/_buildTypes.ts","../../src/node/_tasks/dts/_DtsError.ts","../../src/node/_tasks/dts/_createApiExtractorConfig.ts","../../src/node/_tasks/dts/_createTSDocConfig.ts","../../src/node/_tasks/dts/_getExtractMessagesConfig.ts","../../src/node/_tasks/dts/_extractTypes.ts","../../src/node/_tasks/dts/_doExtract.ts","../../src/node/_tasks/dts/_dtsTask.ts","../../src/node/_tasks/dts/_dtsWatchTask.ts","../../src/node/_tasks/rollup/_resolveRollupConfig.ts","../../src/node/_tasks/rollup/_rollupTask.ts","../../src/node/_tasks/rollup/_rollupWatchTask.ts","../../src/node/_tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {_BuildContext} from './_core'\n\nexport function _printExtractMessages(ctx: _BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function _buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class _DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function _createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function _createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../_core'\n\nconst _LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function _getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function _ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? _LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: _ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: _ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: _ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: _ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: _ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: _ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: _ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, _BuildFile} from '../../_core'\nimport {_createApiExtractorConfig} from './_createApiExtractorConfig'\nimport {_createTSDocConfig} from './_createTSDocConfig'\nimport {_getExtractMessagesConfig} from './_getExtractMessagesConfig'\n\nexport async function _extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: _BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await _createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: _createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: _getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n await fs.writeFile(\n typesPath,\n prettier.format(typesBuf.toString(), {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {_BuildContext} from '../../_core'\nimport {_buildTypes} from './_buildTypes'\nimport {_DtsError} from './_DtsError'\nimport {_extractTypes} from './_extractTypes'\nimport {_DtsResult, _DtsTask, _DtsWatchTask} from './_types'\n\nconst rimraf = promisify(rimrafCallback)\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function _doExtract(\n ctx: _BuildContext,\n task: _DtsTask | _DtsWatchTask\n): Promise<_DtsResult> {\n const {config, cwd, files, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await _buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})\n\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n\n const result = await _extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n exportPath,\n files,\n filePath: path.relative(outDir, targetPath),\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n distPath: outDir,\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new _DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {_printExtractMessages} from '../../_printExtractMessages'\nimport {_TaskHandler} from '../_types'\nimport {_doExtract} from './_doExtract'\nimport {_DtsError} from './_DtsError'\nimport {_DtsResult, _DtsTask} from './_types'\n\n/** @internal */\nexport const _dtsTask: _TaskHandler<_DtsTask, _DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n _doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n _printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof _DtsError) {\n _printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {_printExtractMessages} from '../../_printExtractMessages'\nimport {_TaskHandler} from '../_types'\nimport {_doExtract} from './_doExtract'\nimport {_DtsError} from './_DtsError'\nimport {_DtsResult, _DtsWatchTask} from './_types'\n\n/** @internal */\nexport const _dtsWatchTask: _TaskHandler<_DtsWatchTask, _DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n _doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n _printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof _DtsError) {\n _printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\nimport {_BuildContext, _DEFAULTS, _MODULE_EXT, _resolveConfigProperty} from '../../_core'\nimport {_RollupTask, _RollupWatchTask} from '../_types'\n\nexport interface _RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function _resolveRollupConfig(\n ctx: _BuildContext,\n buildTask: _RollupTask | _RollupWatchTask\n): _RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = _MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs({\n esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],\n }),\n minify &&\n terser({\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : _resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {_BuildContext} from '../../_core'\nimport {_RollupTask, _TaskHandler} from '../_types'\nimport {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupTask: _TaskHandler<_RollupTask> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n return new Observable((observer) => {\n _execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function _execPromise(ctx: _BuildContext, task: _RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {_RollupWatchTask, _TaskHandler} from '../_types'\nimport {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupWatchTask: _TaskHandler<_RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n // logger.log('')\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {_BuildTaskHandlers, _WatchTaskHandlers} from './_types'\nimport {_dtsTask, _dtsWatchTask} from './dts'\nimport {_rollupTask, _rollupWatchTask} from './rollup'\n\nexport * from './_types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const _buildTaskHandlers: _BuildTaskHandlers = {\n 'build:dts': _dtsTask,\n 'build:js': _rollupTask,\n}\n\n/** @internal */\nexport const _watchTaskHandlers: _WatchTaskHandlers = {\n 'watch:dts': _dtsWatchTask,\n 'watch:js': _rollupWatchTask,\n}\n"],"names":["_printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","join","errors","red","process","exit","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","_buildTypes","options","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","_DtsError","constructor","_createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","_createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","_LOG_LEVELS","info","off","warn","_getExtractMessagesConfig","rules","_ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","default","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","_extractTypes","files","projectPath","sourceTypesPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","push","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","type","rimraf","promisify","rimrafCallback","_doExtract","task","_a","_b","config","configPath","results","rootDir","tmpPath","entry","entries","sourcePath","replace","targetPath","result","extract","some","_dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","_dtsWatchTask","_resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","_MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","_a2","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","_DEFAULTS","terser","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","_resolveConfigProperty","inputOptions","context","id","importer","includes","startsWith","idPath","idParts","split","input","reduce","acc","onwarn","warning","rollupWarn","code","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","_rollupTask","_execPromise","bundle","generate","chunkOrAsset","write","close","_rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","_buildTaskHandlers","_watchTaskHandlers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,SAASA,qBAAT,CAA+BC,GAA/B,EAAoCC,QAApC,EAA8C;EACnD,MAAM;IAAEC,GAAF;IAAOC;EAAP,IAAkBH,GAAxB;EACA,MAAMI,QAAQ,GAAGH,QAAQ,CAACI,MAAT,CAAiBC,GAAD,IAASA,GAAG,CAACC,QAAJ,KAAiB,SAA1C,CAAjB;;EACA,IAAIH,QAAQ,CAACI,MAAb,EAAqB;IACnBL,MAAM,CAACM,GAAP;EACD;;EACD,KAAK,MAAMH,GAAX,IAAkBF,QAAlB,EAA4B;IAC1B,MAAMM,cAAc,GAAGJ,GAAG,CAACI,cAAJ,IAAsBC,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,QAALD,CAAcT,GAAdS,EAAmBL,GAAG,CAACI,cAAvBC,CAA7C;;IACA,IAAIL,GAAG,CAACO,SAAJ,KAAkB,QAAtB,EAAgC;MAC9B;IACD;;IACDV,MAAM,CAACM,GAAP,CACE,WACKK,cAAAA,CAAAA,SAAAA,CAAAA,CAAMC,IAAND,CAAWJ,cAAc,IAAI,GAA7BI,CADL,cAEMA,cAAAA,CAAAA,SAAAA,CAAAA,CAAME,MAANF,CAAaR,GAAG,CAACW,cAAjBH,CAFN,cAE0CA,cAAK,CAAA,SAAA,CAALA,CAAME,MAANF,CAAaR,GAAG,CAACY,gBAAjBJ,CAF1C,gBAGQA,cAAAA,CAAAA,SAAAA,CAAAA,CAAME,MAANF,CAAa,SAAbA,CAHR,cAGmCA,cAAAA,CAAAA,SAAAA,CAAAA,CAAMK,IAANL,CAAWR,GAAG,CAACO,SAAfC,CAHnC,SAKER,GAAG,CAACc,IALN,EAME,IANF,EAOEC,IAPF,CAOO,EAPP,CADF;EAUD;;EACD,MAAMC,MAAM,GAAGrB,QAAQ,CAACI,MAAT,CAAiBC,GAAD,IAASA,GAAG,CAACC,QAAJ,KAAiB,OAA1C,CAAf;;EACA,IAAI,CAACH,QAAQ,CAACI,MAAV,IAAoBc,MAAM,CAACd,MAA/B,EAAuC;IACrCL,MAAM,CAACM,GAAP,CAAW,EAAX;EACD;;EACD,KAAK,MAAMH,GAAX,IAAkBgB,MAAlB,EAA0B;IACxB,MAAMZ,cAAc,GAAGJ,GAAG,CAACI,cAAJ,IAAsBC,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,QAALD,CAAcT,GAAdS,EAAmBL,GAAG,CAACI,cAAvBC,CAA7C;IACAR,MAAM,CAACM,GAAP,CACE,WACKK,cAAAA,CAAAA,SAAAA,CAAAA,CAAMC,IAAND,CAAWJ,cAAc,IAAI,GAA7BI,CADL,cAEMA,cAAAA,CAAAA,SAAAA,CAAAA,CAAME,MAANF,CAAaR,GAAG,CAACW,cAAjBH,CAFN,cAE0CA,cAAK,CAAA,SAAA,CAALA,CAAME,MAANF,CAAaR,GAAG,CAACY,gBAAjBJ,CAF1C,gBAGQA,cAAAA,CAAAA,SAAAA,CAAAA,CAAMS,GAANT,CAAU,OAAVA,CAHR,cAG8BA,cAAAA,CAAAA,SAAAA,CAAAA,CAAMK,IAANL,CAAWR,GAAG,CAACO,SAAfC,CAH9B,SAKER,GAAG,CAACc,IALN,EAME,IANF,EAOEC,IAPF,CAOO,EAPP,CADF;EAUD;;EACD,IAAIC,MAAM,CAACd,MAAX,EAAmB;IACjBgB,OAAO,CAACC,IAAR,CAAa,CAAb;EACD;AACH;;AC3CO,MAAMC,UAAU,GAAG;EACxBC,mBAAmB,EAAE,MAAMC,WAAAA,CAAAA,SAAAA,CAAAA,CAAGC,GAAHD,CAAOD,mBAAPC,EADH;EAExBE,UAAU,EAAE,MAAMF,sBAAAA,CAAGC,GAAHD,CAAOG,OAFD;EAGxBC,oBAAoB,EAAEJ,WAAAA,CAAAA,SAAAA,CAAAA,CAAGC,GAAHD,CAAOK,yBAAPL,GAAoCM,CAAD,IAAOA,CAA1CN,GAA+CM,CAAD,IAAOA,CAAC,CAACC,WAAF;AAHnD,CAAnB;;AAKA,eAAeC,WAAf,CAA2BC,OAA3B,EAAoC;EACzC,MAAM;IAAEC,MAAF;IAAUC,QAAV;IAAoBC,MAAM,GAAG;EAA7B,IAAuCH,OAA7C;;EACA,MAAMI,eAAe,mCAChBF,QAAQ,CAACF,OADO;IAEnBK,WAAW,EAAE,IAFM;IAGnBC,cAAc,EAAEL,MAHG;IAInBM,mBAAmB,EAAE,IAJF;IAKnBC,MAAM,EAAE,KALW;IAMnBP;EANmB,EAArB;;EAQA,MAAMQ,OAAO,GAAGlB,WAAAA,CAAAA,SAAAA,CAAAA,CAAGmB,aAAHnB,CAAiBW,QAAQ,CAACS,SAA1BpB,EAAqCa,eAArCb,CAAhB;EACA,MAAMqB,UAAU,GAAGH,OAAO,CAACI,IAAR,EAAnB;EACA,MAAMC,cAAc,GAAGvB,WAAE,CAAA,SAAA,CAAFA,CAAGwB,qBAAHxB,CAAyBkB,OAAzBlB,EAAkCyB,MAAlCzB,CAAyCqB,UAAU,CAACK,WAApD1B,CAAvB;EACAuB,cAAc,CAACI,OAAf,CAAwBC,UAAD,IAAgB;IACrC,IAAIA,UAAU,CAACC,IAAX,IAAmBD,UAAU,CAACE,KAAlC,EAAyC;MACvC,MAAM;QAAEC,IAAF;QAAQC;MAAR,IAAsBhC,WAAE,CAAA,SAAA,CAAFA,CAAGiC,6BAAHjC,CAAiC4B,UAAU,CAACC,IAA5C7B,EAAkD4B,UAAU,CAACE,KAA7D9B,CAA5B;MACA,MAAMkC,OAAO,GAAGlC,WAAAA,CAAAA,SAAAA,CAAAA,CAAGmC,4BAAHnC,CAAgC4B,UAAU,CAACQ,WAA3CpC,EAAwD,IAAxDA,CAAhB;MACAqC,OAAO,CAACxD,GAAR,WAAe+C,UAAU,CAACC,IAAX,CAAgBS,QAA/B,cAA2CP,IAAI,GAAG,CAAlD,cAAuDC,SAAS,GAAG,CAAnE,eACJE,OADI;IAED,CALD,MAKO;MACLG,OAAO,CAACxD,GAAR,CAAYmB,sBAAAA,CAAGmC,4BAAHnC,CAAgC4B,UAAU,CAACQ,WAA3CpC,EAAwD,IAAxDA,CAAZ;IACD;EACF,CATD;;EAUA,IAAIqB,UAAU,CAACkB,WAAf,EAA4B;IAC1B,MAAM7C,MAAM,GAAG6B,cAAc,CAAC9C,MAAf,CAAuB+D,IAAD,IAAUA,IAAI,CAACC,QAAL,KAAkBzC,WAAE,CAAA,SAAA,CAAFA,CAAG0C,kBAAH1C,CAAsB2C,KAAxE,CAAf;;IACA,IAAIjD,MAAM,CAACd,MAAX,EAAmB;MACjByD,OAAO,CAACO,KAAR,CAAc5C,WAAE,CAAA,SAAA,CAAFA,CAAG6C,iBAAH7C,CAAqBN,MAArBM,EAA6BF,UAA7BE,CAAd;;MACA,IAAIY,MAAJ,EAAY;QACV,MAAM,IAAI+B,KAAJ,CAAU,0CAAV,CAAN;MACD;IACF;EACF;AACH;;ACtCO,MAAMG,SAAN,SAAwBH,KAAxB,CAA8B;EACnCI,WAAW,CAACb,OAAD,EAAU7D,QAAV,EAAoB;IAC7B,MAAM6D,OAAN;IACA,KAAK7D,QAAL,GAAgBA,QAAhB;EACD;;AAJkC;;ACC9B,SAAS2E,yBAAT,CAAmCvC,OAAnC,EAA4C;EACjD,MAAM;IACJwC,QADI;IAEJC,UAFI;IAGJC,QAHI;IAIJ9E,QAJI;IAKJ+E,aALI;IAMJC,sBANI;IAOJC;EAPI,IAQF7C,OARJ;EASA,OAAO;IACL8C,SAAS,EAAE;MACTC,OAAO,EAAE,KADA;MAETC,cAAc,EAAE;IAFP,CADN;IAKLC,QAAQ,EAAE;MACRC,gBAAgB,EAAEL;IADV,CALL;IAQLM,QAAQ,EAAE;MACRJ,OAAO,EAAE,KADD;MAERK,eAAe,EAAE9E,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAakE,QAAblE,YAA0BmE,UAA1BnE;IAFT,CARL;IAYLgF,SAAS,EAAE;MACTP,OAAO,EAAE,IADA;MAETQ,iBAAiB,EAAEjF,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAakE,QAAblE,EAAuBoE,QAAvBpE;IAFV,CAZN;IAgBLkF,aAAa,EAAE;MACbT,OAAO,EAAE;IADI,CAhBV;IAmBLnF,QAnBK;IAoBLgF,sBApBK;IAqBLD;EArBK,CAAP;AAuBF;;AC/BO,eAAec,kBAAf,CAAkCC,IAAlC,EAAwC;EAC7C,MAAM;IAAEC;EAAF,IAAiBD,IAAvB;;EACA,IAAIC,UAAU,CAACxF,MAAX,KAAsB,CAA1B,EAA6B;IAC3B,OAAO,KAAK,CAAZ;EACD;;EACD,MAAMyF,YAAY,GAAG,MAAMC,EAAQ,CAAAA,QAARA,CACzBC,OAAO,CAACT,OAAR,CAAgB,kDAAhB,CADyBQ,CAA3B;EAGA,MAAME,eAAe,GAAGC,WAAK,CAAAA,KAALA,CAAMJ,YAAY,CAACK,QAAb,EAAND,CAAxB;EACA,MAAME,cAAc,GAAG,CAACH,eAAe,CAACG,cAAhB,IAAkC,EAAnC,EAAuClD,MAAvC,CACrB2C,UAAU,CAACQ,GAAX,CAAgBC,CAAD,KAAQ;IACrBC,OAAO,aAAMD,CAAC,CAACE,IAAR,CADc;IAErBC,UAAU,EAAEH,CAAC,CAACG,UAFO;IAGrBC,aAAa,EAAEJ,CAAC,CAACI;EAHI,CAAR,CAAf,CADqB,CAAvB;;EAOA,MAAMC,cAAc,qBAAQV,eAAe,CAACU,cAAxB,CAApB;;EACA,KAAK,MAAMC,SAAX,IAAwBf,UAAxB,EAAoC;IAClCc,cAAc,YAAKC,SAAS,CAACJ,IAAf,EAAd,GAAuC,IAAvC;EACD;;EACD,OAAOK,WAAAA,CAAAA,eAAAA,CAAgBC,cAAhBD,iCACFZ,eADEY;IAELE,cAAc,EAAE,KAFXF;IAGLT,cAHKS;IAILF;EAJKE,GAAP;AAMF;;AC7BA,MAAMG,WAAW,GAAG;EAClB3C,KAAK,EAAE,OADW;EAElB4C,IAAI,EAAE,MAFY;EAGlBC,GAAG,EAAE,MAHa;EAIlBC,IAAI,EAAE;AAJY,CAApB;;AAMO,SAASC,yBAAT,CAAmClF,OAAnC,EAA4C;EACjD,MAAM;IAAEmF;EAAF,IAAYnF,OAAlB;;EACA,SAASoF,eAAT,CAAyBC,GAAzB,EAA8BC,YAA9B,EAA4C;IAC1C,MAAMC,CAAC,GAAGJ,KAAK,IAAI,IAAT,GAAgB,KAAK,CAArB,GAAyBA,KAAK,CAACE,GAAD,CAAxC;IACA,OAAOE,CAAC,GAAGT,WAAW,CAACS,CAAD,CAAd,GAAoBD,YAAY,IAAI,SAA5C;EACD;;EACD,OAAO;IACLE,wBAAwB,EAAE;MACxBC,OAAO,EAAE;QACPvH,QAAQ,EAAE;MADH;IADe,CADrB;IAMLwH,yBAAyB,EAAE;MACzBD,OAAO,EAAE;QACPvH,QAAQ,EAAE,SADH;QAEPyH,kBAAkB,EAAE;MAFb,CADgB;MAKzB,uBAAuB;QACrBzH,QAAQ,EAAEkH,eAAe,CAAC,qBAAD,EAAwB,OAAxB,CADJ;QAErBO,kBAAkB,EAAE;MAFC,CALE;MASzB,gCAAgC;QAC9BzH,QAAQ,EAAEkH,eAAe,CAAC,8BAAD,EAAiC,OAAjC,CADK;QAE9BO,kBAAkB,EAAE;MAFU,CATP;MAazB,kCAAkC;QAChCzH,QAAQ,EAAEkH,eAAe,CAAC,gCAAD,CADO;QAEhCO,kBAAkB,EAAE;MAFY,CAbT;MAiBzB,0BAA0B;QACxBzH,QAAQ,EAAEkH,eAAe,CAAC,wBAAD,EAA2B,OAA3B,CADD;QAExBO,kBAAkB,EAAE;MAFI,CAjBD;MAqBzB,4BAA4B;QAC1BzH,QAAQ,EAAE,MADgB;QAE1ByH,kBAAkB,EAAE;MAFM;IArBH,CANtB;IAgCLC,qBAAqB,EAAE;MACrBH,OAAO,EAAE;QACPvH,QAAQ,EAAE,SADH;QAEPyH,kBAAkB,EAAE;MAFb,CADY;MAKrB,iCAAiC;QAC/BzH,QAAQ,EAAEkH,eAAe,CAAC,+BAAD,EAAkC,SAAlC,CADM;QAE/BO,kBAAkB,EAAE;MAFW,CALZ;MASrB,uBAAuB;QACrBzH,QAAQ,EAAEkH,eAAe,CAAC,qBAAD,EAAwB,OAAxB,CADJ;QAErBO,kBAAkB,EAAE;MAFC,CATF;MAarB,yBAAyB;QACvBzH,QAAQ,EAAEkH,eAAe,CAAC,uBAAD,EAA0B,MAA1B,CADF;QAEvBO,kBAAkB,EAAE;MAFG;IAbJ;EAhClB,CAAP;AAmDF;;ACpDO,eAAeE,aAAf,CAA6B7F,OAA7B,EAAsC;EAC3C,MAAM;IACJ2D,UADI;IAEJnB,QAFI;IAGJC,UAHI;IAIJqD,KAJI;IAKJpD,QALI;IAMJqD,WANI;IAOJZ,KAPI;IAQJa,eARI;IASJnD;EATI,IAUF7C,OAVJ;EAWA,MAAMiG,eAAe,GAAG,MAAMxC,kBAAkB,CAAC;IAC/CE,UAAU,EAAEA,UAAU,IAAI;EADqB,CAAD,CAAhD;EAGA,MAAMuC,eAAe,GAAGC,YAAe,CAAAA,eAAfA,CAAgBC,OAAhBD,CAAwB;IAC9CE,YAAY,EAAE9D,yBAAyB,CAAC;MACtCC,QADsC;MAEtCC,UAFsC;MAGtCC,QAHsC;MAItC9E,QAAQ,EAAEsH,yBAAyB,CAAC;QAAEC;MAAF,CAAD,CAJG;MAKtCxC,aAAa,EAAEoD,WALuB;MAMtCnD,sBAAsB,EAAEoD,eANc;MAOtCnD;IAPsC,CAAD,CADO;IAU9CyD,oBAAoB,EAAE,KAAK,CAVmB;IAW9CL,eAX8C;IAY9CM,mBAAmB,EAAEjI,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAayH,WAAbzH,EAA0B,cAA1BA;EAZyB,CAAxB6H,CAAxB;EAcA,MAAMvI,QAAQ,GAAG,EAAjB;EACA,MAAM4I,eAAe,GAAGC,YAAAA,CAAAA,SAAAA,CAAUC,MAAVD,CAAiBP,eAAjBO,EAAkC;IACxDE,UAAU,EAAE,IAD4C;IAExDC,mBAAmB,EAAE,IAFmC;;IAGxDC,eAAe,CAACpF,OAAD,EAAU;MACvB7D,QAAQ,CAACkJ,IAAT,CAAcrF,OAAd;MACAA,OAAO,CAACsF,OAAR,GAAkB,IAAlB;IACD;;EANuD,CAAlCN,CAAxB;EAQA,MAAMO,SAAS,GAAG1I,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAakE,QAAblE,EAAuBoE,QAAvBpE,CAAlB;EACA,MAAM2I,QAAQ,GAAG,MAAMC,WAAAA,CAAAA,SAAAA,CAAAA,CAAGrD,QAAHqD,CAAYF,SAAZE,CAAvB;EACA,MAAMC,cAAc,GAAG,MAAMC,iBAAAA,CAAAA,SAAAA,CAAAA,CAASC,aAATD,CAAuBJ,SAAvBI,CAA7B;EACA,MAAME,eAAM,CAAA,SAAA,CAANA,CAAOhJ,aAAI,CAAA,SAAA,CAAJA,CAAKiJ,OAALjJ,CAAa0I,SAAb1I,CAAPgJ,CAAN;EACA,MAAMJ,WAAE,CAAA,SAAA,CAAFA,CAAGM,SAAHN,CACJF,SADIE,EAEJE,iBAAAA,CAAAA,SAAAA,CAAAA,CAASK,MAATL,CAAgBH,QAAQ,CAAChD,QAAT,EAAhBmD,kCACKD,cADLC;IAEEM,QAAQ,EAAEV;EAFZI,GAFIF,CAAN;EAOApB,KAAK,CAACgB,IAAN,CAAW;IACTa,IAAI,EAAE,OADG;IAETrJ,IAAI,EAAE0I;EAFG,CAAX;EAIA,OAAO;IAAER,eAAF;IAAmB5I;EAAnB,CAAP;AACF;;AC3DA,MAAMgK,MAAM,GAAGC,IAAAA,CAAAA,SAAAA,CAAUC,uBAAAA,CAAAA,SAAAA,CAAVD,CAAf;;AACO,eAAeE,UAAf,CAA0BpK,GAA1B,EAA+BqK,IAA/B,EAAqC;EAC1C,IAAIC,EAAJ,EAAQC,EAAR;;EACA,MAAM;IAAEC,MAAF;IAAUtK,GAAV;IAAeiI,KAAf;IAAsB3F,MAAtB;IAA8BZ;EAA9B,IAAqC5B,GAA3C;;EACA,IAAI,CAAC4B,EAAE,CAAC4I,MAAJ,IAAc,CAAC5I,EAAE,CAAC6I,UAAtB,EAAkC;IAChC,OAAO;MAAET,IAAI,EAAE,KAAR;MAAe/J,QAAQ,EAAE,EAAzB;MAA6ByK,OAAO,EAAE;IAAtC,CAAP;EACD;;EACD,MAAM;IAAEpI,MAAF;IAAUqI,OAAO,GAAGzK;EAApB,IAA4B0B,EAAE,CAAC4I,MAAH,CAAUnI,OAA5C;;EACA,IAAI,CAACC,MAAL,EAAa;IACX,MAAM,IAAIiC,KAAJ,CAAU,mDAAV,CAAN;EACD;;EACD,MAAMqG,OAAO,GAAGjK,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAa2B,MAAb3B,EAAqB,SAArBA,CAAhB;EACA,MAAMyB,WAAW,CAAC;IAAElC,GAAF;IAAOoC,MAAM,EAAEsI,OAAf;IAAwBpI,MAAxB;IAAgCD,QAAQ,EAAEX,EAAE,CAAC4I;EAA7C,CAAD,CAAjB;EACA,MAAMvK,QAAQ,GAAG,EAAjB;EACA,MAAMyK,OAAO,GAAG,EAAhB;;EACA,KAAK,MAAMG,KAAX,IAAoBR,IAAI,CAACS,OAAzB,EAAkC;IAChC,MAAMhG,UAAU,GAAG+F,KAAK,CAAC/F,UAAN,KAAqB,GAArB,GAA2B,SAA3B,GAAuC+F,KAAK,CAAC/F,UAAhE;IACA,MAAMuD,eAAe,GAAG1H,aAAAA,CAAAA,SAAAA,CAAAA,CAAK+E,OAAL/E,CACtBiK,OADsBjK,EAEtBA,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,QAALD,CAAcgK,OAAdhK,EAAuBA,aAAAA,CAAAA,SAAAA,CAAAA,CAAK+E,OAAL/E,CAAaT,GAAbS,EAAkBkK,KAAK,CAACE,UAAxBpK,CAAvBA,EAA4DqK,OAA5DrK,CAAoE,OAApEA,EAA6E,OAA7EA,CAFsBA,CAAxB;IAIA,MAAMsK,UAAU,GAAGtK,aAAAA,CAAAA,SAAAA,CAAAA,CAAK+E,OAAL/E,CAAaT,GAAbS,EAAkBkK,KAAK,CAACI,UAAxBtK,CAAnB;IACA,MAAMuK,MAAM,GAAG,MAAMhD,aAAa,CAAC;MACjClC,UAAU,EAAE,CAACsE,EAAE,GAAGE,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACW,OAAvC,KAAmD,IAAnD,GAA0D,KAAK,CAA/D,GAAmEb,EAAE,CAACtE,UADjD;MAEjC9F,GAFiC;MAGjC4E,UAHiC;MAIjCqD,KAJiC;MAKjCpD,QAAQ,EAAEpE,aAAI,CAAA,SAAA,CAAJA,CAAKC,QAALD,CAAc2B,MAAd3B,EAAsBsK,UAAtBtK,CALuB;MAMjCyH,WAAW,EAAElI,GANoB;MAOjCsH,KAAK,EAAE,CAAC+C,EAAE,GAAGC,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACW,OAAvC,KAAmD,IAAnD,GAA0D,KAAK,CAA/D,GAAmEZ,EAAE,CAAC/C,KAP5C;MAQjCa,eARiC;MASjCnD,YAAY,EAAEvE,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAaT,GAAbS,EAAkBiB,EAAE,CAAC6I,UAAH,IAAiB,eAAnC9J,CATmB;MAUjCkE,QAAQ,EAAEvC;IAVuB,CAAD,CAAlC;IAYArC,QAAQ,CAACkJ,IAAT,CAAc,GAAG+B,MAAM,CAACjL,QAAxB;;IACA,IAAIiL,MAAM,CAACjL,QAAP,CAAgBmL,IAAhB,CAAsB9K,GAAD,IAASA,GAAG,CAACC,QAAJ,KAAiB,OAA/C,CAAJ,EAA6D;MAC3D,MAAM0J,MAAM,CAACW,OAAD,CAAZ;MACA,MAAM,IAAIlG,SAAJ,CAAc,0CAAd,EAA0DwG,MAAM,CAACjL,QAAjE,CAAN;IACD;;IACDyK,OAAO,CAACvB,IAAR,CAAa;MAAE4B,UAAU,EAAEpK,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAaT,GAAbS,EAAkBkK,KAAK,CAACE,UAAxBpK,CAAd;MAAmDoE,QAAQ,EAAEkG;IAA7D,CAAb;EACD;;EACD,MAAMhB,MAAM,CAACW,OAAD,CAAZ;EACA,OAAO;IAAEZ,IAAI,EAAE,KAAR;IAAe/J,QAAf;IAAyByK;EAAzB,CAAP;AACF;;AC5CY,MAACW,QAAQ,GAAG;EACtB1E,IAAI,EAAE,CAAC2E,IAAD,EAAOjB,IAAP,KAAgB,2BAEpB,GAAGA,IAAI,CAACS,OAAL,CAAatE,GAAb,CACAqE,KAAD,qBAAqB/J,cAAAA,CAAAA,SAAAA,CAAAA,CAAMyK,IAANzK,CAAW+J,KAAK,CAACW,QAAjB1K,CAArB,eAAoD+J,KAAK,CAACE,UAA1D,iBAA2EF,KAAK,CAACI,UAAjF,CADC,CAFiB,EAKpB5J,IALoB,CAKf,IALe,CADA;EAOtBoK,IAAI,EAAE,CAACzL,GAAD,EAAMqK,IAAN,KAAe;IACnB,OAAO,IAAIqB,IAAAA,CAAAA,UAAJ,CAAgBC,QAAD,IAAc;MAClCvB,UAAU,CAACpK,GAAD,EAAMqK,IAAN,CAAV,CAAsBuB,IAAtB,CAA4BV,MAAD,IAAY;QACrCS,QAAQ,CAACE,IAAT,CAAcX,MAAd;QACAS,QAAQ,CAACG,QAAT;MACD,CAHD,EAGGC,KAHH,CAGUC,GAAD,IAAS;QAChBL,QAAQ,CAACnH,KAAT,CAAewH,GAAf;MACD,CALD;IAMD,CAPM,CAAP;EAQD,CAhBqB;EAiBtBF,QAAQ,EAAE,CAAC9L,GAAD,EAAMiM,KAAN,EAAaf,MAAb,KAAwB;IAChCnL,qBAAqB,CAACC,GAAD,EAAMkL,MAAM,CAACjL,QAAb,CAArB;EACD,CAnBqB;EAoBtBuE,KAAK,EAAE,CAACxE,GAAD,EAAMiM,KAAN,EAAaD,GAAb,KAAqB;IAC1B,MAAM;MAAE7L;IAAF,IAAaH,GAAnB;;IACA,IAAIgM,GAAG,YAAYtH,SAAnB,EAA8B;MAC5B3E,qBAAqB,CAACC,GAAD,EAAMgM,GAAG,CAAC/L,QAAV,CAArB;IACD,CAFD,MAEO,IAAI+L,GAAG,YAAYzH,KAAnB,EAA0B;MAC/BpE,MAAM,CAACqE,KAAP,CAAawH,GAAb;IACD;EACF;AA3BqB,CAAZ;ACAA,MAACE,aAAa,GAAG;EAC3BvF,IAAI,EAAE,CAAC2E,IAAD,EAAOjB,IAAP,KAAgB,2BAEpB,GAAGA,IAAI,CAACS,OAAL,CAAatE,GAAb,CACAqE,KAAD,qBAAqB/J,cAAAA,CAAAA,SAAAA,CAAAA,CAAMyK,IAANzK,CAAW+J,KAAK,CAACW,QAAjB1K,CAArB,eAAoD+J,KAAK,CAACE,UAA1D,iBAA2EF,KAAK,CAACI,UAAjF,CADC,CAFiB,EAKpB5J,IALoB,CAKf,IALe,CADK;EAO3BoK,IAAI,EAAE,CAACzL,GAAD,EAAMqK,IAAN,KAAe;IACnB,OAAO,IAAIqB,IAAAA,CAAAA,UAAJ,CAAgBC,QAAD,IAAc;MAClCvB,UAAU,CAACpK,GAAD,EAAMqK,IAAN,CAAV,CAAsBuB,IAAtB,CAA4BV,MAAD,IAAY;QACrCS,QAAQ,CAACE,IAAT,CAAcX,MAAd;QACAS,QAAQ,CAACG,QAAT;MACD,CAHD,EAGGC,KAHH,CAGUC,GAAD,IAASL,QAAQ,CAACnH,KAAT,CAAewH,GAAf,CAHlB;IAID,CALM,CAAP;EAMD,CAd0B;EAe3BF,QAAQ,EAAE,CAAC9L,GAAD,EAAMiM,KAAN,EAAaf,MAAb,KAAwB;IAChC,MAAM;MAAE/K;IAAF,IAAaH,GAAnB;;IACAD,qBAAqB,CAACC,GAAD,EAAMkL,MAAM,CAACjL,QAAb,CAArB;;IACAE,MAAM,CAACmH,IAAP,CAAY,4DAAZ;IACAnH,MAAM,CAACM,GAAP;EACD,CApB0B;EAqB3B+D,KAAK,EAAE,CAACxE,GAAD,EAAMiM,KAAN,EAAaD,GAAb,KAAqB;IAC1B,MAAM;MAAE7L;IAAF,IAAaH,GAAnB;;IACA,IAAIgM,GAAG,YAAYtH,SAAnB,EAA8B;MAC5B3E,qBAAqB,CAACC,GAAD,EAAMgM,GAAG,CAAC/L,QAAV,CAArB;IACD,CAFD,MAEO,IAAI+L,GAAG,YAAYzH,KAAnB,EAA0B;MAC/BpE,MAAM,CAACqE,KAAP,CAAawH,GAAb;IACD;EACF;AA5B0B,CAAjB;;ACKL,SAASG,oBAAT,CAA8BnM,GAA9B,EAAmCoM,SAAnC,EAA8C;EAAA;;EACnD,IAAI9B,EAAJ,EAAQC,EAAR,EAAY8B,EAAZ;;EACA,MAAM;IAAEvC,MAAF;IAAUwC,OAAV;IAAmBC;EAAnB,IAA8BH,SAApC;EACA,MAAM;IAAE5B,MAAF;IAAUtK,GAAV;IAAesM,OAAO,EAAEC,QAAxB;IAAkCC,QAAlC;IAA4C7H,QAA5C;IAAsD1E,MAAtD;IAA8DwM,GAA9D;IAAmE/K;EAAnE,IAA0E5B,GAAhF;EACA,MAAM4M,SAAS,GAAGC,oBAAAA,CAAAA,WAAAA,CAAYF,GAAG,CAAC3C,IAAhB6C,EAAsB/C,MAAtB+C,CAAlB;EACA,MAAMC,MAAM,WAAItC,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACsC,MAArC,uCAAgD,IAA5D;EACA,MAAMxK,MAAM,GAAG3B,aAAI,CAAA,SAAA,CAAJA,CAAKC,QAALD,CAAcT,GAAdS,EAAmBkE,QAAnBlE,CAAf;EACA,MAAMoM,WAAW,GAAGC,MAAM,CAACC,WAAP,CAClBD,MAAM,CAAClC,OAAP,CAAe,CAAC,CAACR,EAAE,GAAG1I,EAAE,CAAC4I,MAAT,KAAoB,IAApB,GAA2B,KAAK,CAAhC,GAAoCF,EAAE,CAACjI,OAAH,CAAW6K,KAAhD,KAA0D,EAAzE,EAA6E1G,GAA7E,CAAiF,SAAgB;IAAA,IAAf,CAACkB,GAAD,EAAMyF,GAAN,CAAe;;IAC/F,IAAIC,GAAJ;;IACA,OAAO,CAAC1F,GAAD,EAAM/G,aAAAA,CAAAA,SAAAA,CAAAA,CAAK+E,OAAL/E,CAAaT,GAAbS,EAAkB,CAAC,CAACyM,GAAG,GAAGxL,EAAE,CAAC4I,MAAV,KAAqB,IAArB,GAA4B,KAAK,CAAjC,GAAqC4C,GAAG,CAAC/K,OAAJ,CAAYgL,OAAlD,KAA8D,GAAhF1M,EAAqFwM,GAAG,CAAC,CAAD,CAAxFxM,CAAN,CAAP;EACD,CAHD,CADkB,CAApB;EAMA,MAAMmK,OAAO,GAAGsB,SAAS,CAACtB,OAAV,CAAkBtE,GAAlB,CAAuBqE,KAAD,IAAW;IAC/C,uCACKA,KADL;MAEElE,IAAI,EAAEhG,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,QAALD,CAAc2B,MAAd3B,EAAsBkK,KAAK,CAACyC,MAA5B3M,EAAoCqK,OAApCrK,CAA4C,WAA5CA,EAAyD,EAAzDA;IAFR;EAID,CALe,EAKb,EALa,CAAhB;;EAMA,MAAM4M,SAAS,GAAGd,QAAQ,IAAIO,MAAM,CAACQ,IAAP,CAAYf,QAAZ,EAAsBjG,GAAtB,CAA2B1B,UAAD,IAAgBnE,aAAAA,CAAAA,SAAAA,CAAAA,CAAKU,IAALV,CAAUgM,GAAG,CAAChG,IAAdhG,EAAoBmE,UAApBnE,CAA1C,CAA9B;;EACA,MAAM8M,WAAW,GAAGhB,QAAQ,IAAIO,MAAM,CAACU,MAAP,CAAcjB,QAAd,EAAwBjG,GAAxB,CAA6BmH,CAAD,IAAOhN,aAAAA,CAAAA,SAAAA,CAAAA,CAAK+E,OAAL/E,CAAaT,GAAbS,EAAkBgN,CAAC,CAACC,MAApBjN,CAAnC,CAAhC;;EACA,MAAMkN,YAAY,GAAGb,MAAM,CAACC,WAAP,CACnBD,MAAM,CAAClC,OAAP,CAAe,CAACN,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACsD,MAAlC,KAA6C,EAA5D,EAAgEtH,GAAhE,CAAoE;IAAA,IAAC,CAACkB,GAAD,EAAMyF,GAAN,CAAD;IAAA,OAAgB,CAACzF,GAAD,EAAMqG,IAAI,CAACC,SAAL,CAAeb,GAAf,CAAN,CAAhB;EAAA,CAApE,CADmB,CAArB;EAGA,MAAMc,cAAc,GAAG,CACrBjD,2BAAAA,CAAQ;IACNkD,iBAAiB,EAAE,IADb;IAENR,MAAM,oBACDf,GAAG,CAAChG,IAAJ,KAAa,mBAAb,qBAAwCkH,YAAxC;MACD,6BAA8BM,GAAD,IAAS;QACpC,MAAMpD,UAAU,GAAG,OAAOpK,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,QAALD,CAAcT,GAAdS,EAAmBwN,GAAnBxN,CAA1B;QACA,MAAMkK,KAAK,GAAGC,OAAO,CAACsD,IAAR,CAAcT,CAAD,IAAOA,CAAC,CAACC,MAAF,KAAa7C,UAAjC,CAAd;;QACA,IAAI,CAACF,KAAL,EAAY;UACV5G,OAAO,CAACO,KAAR,wCAA8CuG,UAA9C;UACA,OAAO,MAAP;QACD;;QACD,OAAOgD,IAAI,CAACC,SAAL,CACLrN,wBAAAA,CAAKC,QAALD,CAAcT,GAAdS,EAAmBA,wBAAAA,CAAK+E,OAAL/E,CAAa2B,MAAb3B,EAAqBkK,KAAK,CAAClE,IAAN,GAAaiG,SAAlCjM,CAAnBA,CADK,CAAP;MAGD,CAXA;MAYD,0BAA0BoN,IAAI,CAACC,SAAL,CAAelE,MAAf,CAZzB;MAaD,2BAA2BiE,IAAI,CAACC,SAAL,CAAe1B,OAAf,CAb1B;MAcD,2BAA2ByB,IAAI,CAACC,SAAL,CAAexM,OAAO,CAAC6M,GAAR,CAAYC,WAAZ,IAA2B3B,GAAG,CAAC4B,OAA9C;IAd1B,GAeEV,YAfF,CADC;EAFA,CAAR7C,CADqB,EAuBrBwD,yBAAAA,CAAM;IACJ1D,OAAO,oBAAOiC,WAAP;EADH,CAANyB,CAvBqB,EA0BrBC,6BAAAA,CAAY;IACVC,OAAO,EAAEpC,OAAO,KAAK,SADX;IAEVqC,UAAU,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,KAAjB,EAAwB,MAAxB,EAAgC,OAAhC,EAAyC,OAAzC,CAFF;IAGVC,cAAc,EAAE;EAHN,CAAZH,CA1BqB,EA+BrBI,4BAAAA,CAAS;IACPC,YAAY,EAAE,KADP;IAEPH,UAAU,EAAE,CAAC,KAAD;EAFL,CAATE,CA/BqB,EAmCrBE,wBAAAA,EAnCqB,EAoCrBC,2BAAAA,CAAQ;IACNC,GAAG,WAAGzE,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACyE,GAApC,yCAA4C,WADzC;IAENC,UAAU,WAAG1E,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAC0E,UAApC,yCAAmD,eAFvD;IAGNC,WAAW,WAAG3E,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAC2E,WAApC,yCAAoD,UAHzD;IAINC,eAAe,WAAG5E,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAC4E,eAApC,yCAAwD,OAJjE;IAKN7C,MALM;IAMNhK,QAAQ,EAAEvC,GAAG,CAAC4B,EAAJ,CAAO6I,UAAP,IAAqB;EANzB,CAARuE,CApCqB,EA4CrBK,gCAAAA,CAAqB;IACnBC,OAAO,EAAE,KADU;IAEnBC,OAAO,EAAE,CAAC,2CAAD,CAFU;IAGnBC,OAAO,EAAE,CAAC,CAAC,mBAAD,EAAsB;MAAEC,OAAO,EAAE9C,GAAG,CAAC+C,YAAJ,IAAoBC,oBAAAA,CAAAA,SAAAA,CAAUD;IAAzC,CAAtB,CAAD;EAHU,CAArBL,CA5CqB,EAiDrBvC,MAAM,IAAI8C,kBAAAA,CAAAA,MAAAA,CAAO;IACftC,MAAM,EAAE;MACNuC,QAAQ,EAAE,CAACC,KAAD,EAAQC,OAAR,KAAoB;QAC5B,MAAM3O,IAAI,GAAG2O,OAAO,CAACC,KAArB;QACA,MAAMhG,IAAI,GAAG+F,OAAO,CAAC/F,IAArB;;QACA,IAAIA,IAAI,IAAI,UAAZ,EAAwB;UACtB,OAAO,6BAA6BiG,IAA7B,CAAkC7O,IAAlC,CAAP;QACD;;QACD,OAAO,KAAP;MACD;IARK;EADO,CAAPwO,CAjDW,EA6DrBvP,MA7DqB,CA6Dd6P,OA7Dc,CAAvB;EA8DA,MAAMC,WAAW,GAAG,CAAC5F,EAAE,GAAGC,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAC4F,MAAvC,KAAkD,IAAlD,GAAyD,KAAK,CAA9D,GAAkE7F,EAAE,CAACgF,OAAzF;EACA,MAAMA,OAAO,GAAGc,KAAK,CAACC,OAAN,CAAcH,WAAd,IAA6BlC,cAAc,CAAC5K,MAAf,CAAsB8M,WAAtB,CAA7B,GAAkEI,oBAAsB,CAAAA,sBAAtBA,CAAuB,CAAClE,EAAE,GAAG7B,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAC4F,MAAvC,KAAkD,IAAlD,GAAyD,KAAK,CAA9D,GAAkE/D,EAAE,CAACkD,OAA5FgB,EAAqGtC,cAArGsC,CAAlF;EACA,OAAO;IACLC,YAAY,EAAE;MACZC,OAAO,EAAEvQ,GADG;MAEZwM,QAAQ,EAAE,CAACgE,EAAD,EAAKC,QAAL,KAAkB;QAC1B,IAAIpD,SAAS,IAAI,IAAb,GAAoB,KAAK,CAAzB,GAA6BA,SAAS,CAACqD,QAAV,CAAmBF,EAAnB,CAAjC,EAAyD;UACvD,OAAO,IAAP;QACD;;QACD,IAAIC,QAAQ,KAAKD,EAAE,CAACG,UAAH,CAAc,GAAd,KAAsBH,EAAE,CAACG,UAAH,CAAc,GAAd,CAA3B,CAAZ,EAA4D;UAC1D,MAAMC,MAAM,GAAGnQ,aAAI,CAAA,SAAA,CAAJA,CAAK+E,OAAL/E,CAAaA,aAAAA,CAAAA,SAAAA,CAAAA,CAAKiJ,OAALjJ,CAAagQ,QAAbhQ,CAAbA,EAAqC+P,EAArC/P,CAAf;;UACA,IAAI8M,WAAW,IAAI,IAAf,GAAsB,KAAK,CAA3B,GAA+BA,WAAW,CAACmD,QAAZ,CAAqBE,MAArB,CAAnC,EAAiE;YAC/D3Q,MAAM,CAACmH,IAAP,yEACmE3G,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,QAALD,CAC/DT,GAD+DS,EAE/DmQ,MAF+DnQ,CADnE;YAMA,OAAO,IAAP;UACD;QACF;;QACD,MAAMoQ,OAAO,GAAGL,EAAE,CAACM,KAAH,CAAS,GAAT,CAAhB;QACA,MAAMrK,IAAI,GAAGoK,OAAO,CAAC,CAAD,CAAP,CAAWF,UAAX,CAAsB,GAAtB,cAAgCE,OAAO,CAAC,CAAD,CAAvC,cAA8CA,OAAO,CAAC,CAAD,CAArD,IAA6DA,OAAO,CAAC,CAAD,CAAjF;;QACA,IAAIpK,IAAI,IAAI+F,QAAQ,CAACkE,QAAT,CAAkBjK,IAAlB,CAAZ,EAAqC;UACnC,OAAO,IAAP;QACD;;QACD,OAAO,KAAP;MACD,CAxBW;MAyBZsK,KAAK,EAAEnG,OAAO,CAACoG,MAAR,CAAe,CAACC,GAAD,EAAMtG,KAAN,KAAgB;QACpC,uCAAYsG,GAAZ;UAAiB,CAACtG,KAAK,CAAClE,IAAP,GAAckE,KAAK,CAAC+C;QAArC;MACD,CAFM,EAEJ,EAFI,CAzBK;;MA4BZwD,MAAM,CAACC,OAAD,EAAUC,UAAV,EAAsB;QAC1B,IAAI,CAACD,OAAO,CAACE,IAAT,IAAiB,CAAC,CAAC,qBAAD,EAAwBX,QAAxB,CAAiCS,OAAO,CAACE,IAAzC,CAAtB,EAAsE;UACpED,UAAU,CAACD,OAAD,CAAV;QACD;MACF,CAhCW;;MAiCZ9B,OAjCY;MAkCZiC,SAAS,EAAE;QACTC,uBAAuB,EAAE;MADhB;IAlCC,CADT;IAuCLC,aAAa,EAAE;MACbC,cAAc,EAAE,qCAA8B/E,SAA9B,CADH;MAEbgF,GAAG,EAAEtP,MAFQ;MAGbuP,cAAc,EAAE,MAAMjF,SAAS,KAAK,SAAd,iCAAiDA,SAAjD,CAHT;MAIb9C,MAJa;MAKb0C,OAAO,EAAE,MALI;MAMbsF,SAAS,WAAGtH,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACsH,SAApC,yCAAkD;IAN9C;EAvCV,CAAP;AAgDF;;AC7IY,MAACC,WAAW,GAAG;EACzBpL,IAAI,EAAE,CAAC3G,GAAD,EAAMqK,IAAN,8CAAiDA,IAAI,CAACkC,MAAL,CAAYlL,IAAZ,CAAiB,KAAjB,CAAjD,sBAAoFgJ,IAAI,CAACP,MAAzF,uBACCO,IAAI,CAACS,OAAL,CAAatE,GAAb,CAAkBmH,CAAD,cAAU7M,yBAAAA,CAAMyK,IAANzK,CAAWH,aAAAA,CAAAA,SAAAA,CAAAA,CAAKU,IAALV,CAAUX,GAAG,CAAC2M,GAAJ,CAAQhG,IAAlBhG,EAAwBgN,CAAC,CAAChN,IAA1BA,CAAXG,CAAV,eAA0D6M,CAAC,CAACC,MAA5D,iBAAyED,CAAC,CAACL,MAA3E,CAAjB,EAAsGjM,IAAtG,CAA2G,WAA3G,CADD,CADmB;EAGzBoK,IAAI,EAAE,CAACzL,GAAD,EAAMqK,IAAN,KAAe;IACnB,OAAO,IAAIqB,IAAAA,CAAAA,UAAJ,CAAgBC,QAAD,IAAc;MAClCqG,YAAY,CAAChS,GAAD,EAAMqK,IAAN,CAAZ,CAAwBuB,IAAxB,CAA8BV,MAAD,IAAY;QACvCS,QAAQ,CAACE,IAAT,CAAcX,MAAd;QACAS,QAAQ,CAACG,QAAT;MACD,CAHD,EAGGC,KAHH,CAGUC,GAAD,IAASL,QAAQ,CAACnH,KAAT,CAAewH,GAAf,CAHlB;IAID,CALM,CAAP;EAMD,CAVwB;EAWzBF,QAAQ,EAAE,MAAM,CACf,CAZwB;EAazBtH,KAAK,EAAE,CAAC8G,IAAD,EAAOW,KAAP,EAAcD,GAAd,KAAsB;IAC3B,IAAIA,GAAG,YAAYzH,KAAnB,EAA0B;MACxBN,OAAO,CAACxD,GAAR,CAAYuL,GAAZ;IACD;EACF;AAjBwB,CAAf;;AAmBZ,eAAegG,YAAf,CAA4BhS,GAA5B,EAAiCqK,IAAjC,EAAuC;EACrC,MAAM;IAAElC,KAAF;IAAStD;EAAT,IAAsB7E,GAA5B;EACA,MAAMsC,MAAM,GAAG3B,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,QAALD,CAAcX,GAAG,CAACE,GAAlBS,EAAuBkE,QAAvBlE,CAAf;;EACA,MAAM;IAAE6P,YAAF;IAAgBkB;EAAhB,IAAkCvF,oBAAoB,CAACnM,GAAD,EAAMqK,IAAN,CAA5D;;EACA,MAAM4H,MAAM,GAAG,MAAM7B,aAAAA,CAAOI,YAAPJ,CAArB;EACA,MAAM;IAAE9C;EAAF,IAAa,MAAM2E,MAAM,CAACC,QAAP,CAAgBR,aAAhB,CAAzB;;EACA,KAAK,MAAMS,YAAX,IAA2B7E,MAA3B,EAAmC;IACjC,IAAI6E,YAAY,CAACnI,IAAb,KAAsB,OAA1B,EAAmC;MACjC7B,KAAK,CAACgB,IAAN,CAAW;QACTa,IAAI,EAAE,OADG;QAETrJ,IAAI,EAAEA,aAAAA,CAAAA,SAAAA,CAAAA,CAAK+E,OAAL/E,CAAa2B,MAAb3B,EAAqBwR,YAAY,CAACjO,QAAlCvD;MAFG,CAAX;IAID,CALD,MAKO;MACLwH,KAAK,CAACgB,IAAN,CAAW;QACTa,IAAI,EAAE,OADG;QAETrJ,IAAI,EAAEA,aAAAA,CAAAA,SAAAA,CAAAA,CAAK+E,OAAL/E,CAAa2B,MAAb3B,EAAqBwR,YAAY,CAACjO,QAAlCvD;MAFG,CAAX;IAID;EACF;;EACD,MAAMsR,MAAM,CAACG,KAAP,CAAaV,aAAb,CAAN;EACA,MAAMO,MAAM,CAACI,KAAP,EAAN;AACF;;ACxCY,MAACC,gBAAgB,GAAG;EAC9B3L,IAAI,EAAE,CAAC3G,GAAD,EAAMqK,IAAN,8CAAiDA,IAAI,CAACkC,MAAL,CAAYlL,IAAZ,CAAiB,KAAjB,CAAjD,sBAAoFgJ,IAAI,CAACP,MAAzF,uBACCO,IAAI,CAACS,OAAL,CAAatE,GAAb,CAAkBmH,CAAD,cAAU7M,yBAAAA,CAAMyK,IAANzK,CAAWH,aAAAA,CAAAA,SAAAA,CAAAA,CAAKU,IAALV,CAAUX,GAAG,CAAC2M,GAAJ,CAAQhG,IAAlBhG,EAAwBgN,CAAC,CAAChN,IAA1BA,CAAXG,CAAV,eAA0D6M,CAAC,CAACC,MAA5D,iBAAyED,CAAC,CAACL,MAA3E,CAAjB,EAAsGjM,IAAtG,CAA2G,WAA3G,CADD,CADwB;EAG9BoK,IAAI,EAAE,CAACzL,GAAD,EAAMqK,IAAN,KAAe;IACnB,MAAM;MAAEmG,YAAF;MAAgBkB;IAAhB,IAAkCvF,oBAAoB,CAACnM,GAAD,EAAMqK,IAAN,CAA5D;;IACA,OAAO,IAAIqB,IAAAA,CAAAA,UAAJ,CAAgBC,QAAD,IAAc;MAClC,MAAM4G,YAAY,mCACb/B,YADa;QAEhBlD,MAAM,EAAEoE;MAFQ,EAAlB;;MAIA,MAAMc,OAAO,GAAGC,YAAAA,CAAYF,YAAZE,CAAhB;MACAD,OAAO,CAACE,EAAR,CAAW,OAAX,EAAqBC,KAAD,IAAW;QAC7BhH,QAAQ,CAACE,IAAT,CAAc8G,KAAd;MACD,CAFD;MAGA,OAAO,MAAM;QACXH,OAAO,CAACH,KAAR;MACD,CAFD;IAGD,CAZM,CAAP;EAaD,CAlB6B;EAmB9BvG,QAAQ,EAAE,CAAC9L,GAAD,EAAMqK,IAAN,EAAYsI,KAAZ,KAAsB;IAC9B,MAAM;MAAExS;IAAF,IAAaH,GAAnB;;IACA,IAAI2S,KAAK,CAACpB,IAAN,KAAe,YAAnB,EAAiC;MAC/BpR,MAAM,CAACyS,OAAP,0CACoCvI,IAAI,CAACkC,MAAL,CAAYlL,IAAZ,CAAiB,KAAjB,CADpC,sBACuEgJ,IAAI,CAACP,MAD5E,uBAEGO,IAAI,CAACS,OAAL,CAAatE,GAAb,CAAkBmH,CAAD,cAAU7M,yBAAAA,CAAMyK,IAANzK,CAAWH,aAAAA,CAAAA,SAAAA,CAAAA,CAAKU,IAALV,CAAUX,GAAG,CAAC2M,GAAJ,CAAQhG,IAAlBhG,EAAwBgN,CAAC,CAAChN,IAA1BA,CAAXG,CAAV,eAA0D6M,CAAC,CAACC,MAA5D,iBAAyED,CAAC,CAACL,MAA3E,CAAjB,EAAsGjM,IAAtG,CAA2G,WAA3G,CAFH;MAIAlB,MAAM,CAACM,GAAP,CAAW,EAAX;MACA;IACD;;IACD,IAAIkS,KAAK,CAACpB,IAAN,KAAe,cAAnB,EAAmC;MACjC;IACD;;IACD,IAAIoB,KAAK,CAACpB,IAAN,KAAe,KAAnB,EAA0B;MACxB;IACD;;IACD,IAAIoB,KAAK,CAACpB,IAAN,KAAe,OAAnB,EAA4B;MAC1BpR,MAAM,CAACqE,KAAP,CAAamO,KAAK,CAACpB,IAAnB,EAAyBoB,KAAzB;MACA;IACD;;IACD,IAAIA,KAAK,CAACpB,IAAN,KAAe,OAAnB,EAA4B;MAC1B;IACD;EACF,CA1C6B;EA2C9B/M,KAAK,EAAE,CAACxE,GAAD,EAAMiM,KAAN,EAAaD,GAAb,KAAqB;IAC1B,MAAM;MAAE7L;IAAF,IAAaH,GAAnB;;IACA,IAAIgM,GAAG,YAAYzH,KAAnB,EAA0B;MACxBpE,MAAM,CAACM,GAAP,CAAWuL,GAAX;IACD;EACF;AAhD6B,CAApB;ACAA,MAAC6G,kBAAkB,GAAG;EAChC,aAAaxH,QADmB;EAEhC,YAAY0G;AAFoB,CAAtB;AAIA,MAACe,kBAAkB,GAAG;EAChC,aAAa5G,aADmB;EAEhC,YAAYoG;AAFoB,CAAtB;;;;;;;"}