@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231217
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/analyzer/analyzerFileInfo.d.ts +4 -3
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
- package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +67 -62
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +43 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.d.ts +3 -2
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +47 -47
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +0 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +3 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +1 -1
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +5 -3
- package/dist/analyzer/declaration.js +3 -2
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +3 -2
- package/dist/analyzer/declarationUtils.js +14 -12
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +14 -43
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +29 -25
- package/dist/analyzer/importResolver.js +300 -301
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +5 -4
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +5 -4
- package/dist/analyzer/importStatementUtils.js +23 -22
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +7 -6
- package/dist/analyzer/packageTypeReport.js +4 -4
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +68 -64
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
- package/dist/analyzer/parentDirectoryCache.js +9 -10
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +7 -4
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +102 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +27 -26
- package/dist/analyzer/program.js +162 -156
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +6 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +3 -2
- package/dist/analyzer/pyTypedUtils.js +4 -5
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +7 -6
- package/dist/analyzer/pythonPathUtils.js +21 -23
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +24 -23
- package/dist/analyzer/service.js +190 -184
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -5
- package/dist/analyzer/sourceFile.js +68 -56
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -10
- package/dist/analyzer/sourceMapper.js +61 -63
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +2 -2
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +3 -2
- package/dist/analyzer/tracePrinter.js +21 -23
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
- package/dist/analyzer/typeDocStringUtils.js +14 -17
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +259 -152
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -0
- package/dist/analyzer/typeGuards.js +5 -4
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -0
- package/dist/analyzer/typePrinter.js +48 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +2 -1
- package/dist/analyzer/typeStubWriter.js +2 -2
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -2
- package/dist/analyzer/typeUtils.js +37 -10
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +10 -6
- package/dist/analyzer/types.js +7 -5
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -2
- package/dist/backgroundAnalysis.js +6 -4
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +22 -20
- package/dist/backgroundAnalysisBase.js +76 -55
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -1
- package/dist/backgroundThreadBase.js +20 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -2
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +5 -5
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +14 -13
- package/dist/common/configOptions.js +29 -27
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -5
- package/dist/common/diagnostic.js +2 -2
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +2 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -5
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +20 -28
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -19
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +29 -28
- package/dist/common/fileWatcher.d.ts +2 -1
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +8 -7
- package/dist/common/fullAccessHost.js +21 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +7 -6
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -1
- package/dist/common/logTracker.js +4 -4
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -28
- package/dist/common/pathUtils.js +17 -366
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -3
- package/dist/common/realFileSystem.js +78 -60
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +2 -1
- package/dist/common/textEditTracker.js +28 -28
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.d.ts +2 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +51 -0
- package/dist/common/uri/baseUri.js +194 -0
- package/dist/common/uri/baseUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +32 -0
- package/dist/common/uri/emptyUri.js +98 -0
- package/dist/common/uri/emptyUri.js.map +1 -0
- package/dist/common/uri/fileUri.d.ts +36 -0
- package/dist/common/uri/fileUri.js +180 -0
- package/dist/common/uri/fileUri.js.map +1 -0
- package/dist/common/uri/memoization.d.ts +3 -0
- package/dist/common/uri/memoization.js +72 -0
- package/dist/common/uri/memoization.js.map +1 -0
- package/dist/common/uri/uri.d.ts +50 -0
- package/dist/common/uri/uri.js +104 -0
- package/dist/common/uri/uri.js.map +1 -0
- package/dist/common/uri/uriUtils.d.ts +39 -0
- package/dist/common/uri/uriUtils.js +362 -0
- package/dist/common/uri/uriUtils.js.map +1 -0
- package/dist/common/uri/webUri.d.ts +36 -0
- package/dist/common/uri/webUri.js +207 -0
- package/dist/common/uri/webUri.js.map +1 -0
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +35 -38
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -22
- package/dist/languageServerBase.js +91 -95
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
- package/dist/languageService/analyzerServiceExecutor.js +14 -16
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +11 -9
- package/dist/languageService/autoImporter.js +45 -44
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +3 -2
- package/dist/languageService/callHierarchyProvider.js +23 -35
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -1
- package/dist/languageService/codeActionProvider.js +8 -10
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +7 -6
- package/dist/languageService/completionProvider.js +32 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +4 -3
- package/dist/languageService/definitionProvider.js +26 -24
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.d.ts +3 -2
- package/dist/languageService/documentHighlightProvider.js +3 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +8 -7
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +5 -4
- package/dist/languageService/documentSymbolProvider.js +9 -11
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +4 -3
- package/dist/languageService/hoverProvider.js +6 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +2 -1
- package/dist/languageService/navigationUtils.js +2 -3
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +2 -1
- package/dist/languageService/quickActions.js +3 -3
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +10 -9
- package/dist/languageService/referencesProvider.js +28 -28
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +4 -3
- package/dist/languageService/renameProvider.js +17 -18
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -2
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +11 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +10 -4
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
- package/dist/languageService/workspaceSymbolProvider.js +10 -11
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +3 -1
- package/dist/parser/parseNodes.d.ts +1 -0
- package/dist/parser/parseNodes.js +1 -0
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +18 -15
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +16 -15
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +38 -43
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +62 -65
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +21 -20
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +39 -30
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +31 -30
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/classDeclaration.test.d.ts +1 -0
- package/dist/tests/classDeclaration.test.js +166 -0
- package/dist/tests/classDeclaration.test.js.map +1 -0
- package/dist/tests/completions.test.js +7 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +24 -22
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -2
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +37 -35
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +4 -4
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
- package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +91 -51
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +4 -0
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -2
- package/dist/tests/harness/testAccessHost.js +2 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +13 -11
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -2
- package/dist/tests/harness/vfs/factory.js +5 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
- package/dist/tests/harness/vfs/filesystem.js +47 -49
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +1 -10
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +106 -58
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +10 -9
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +12 -11
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +2 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +2 -1
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +3 -138
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +38 -34
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +37 -42
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +3 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +73 -35
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +13 -9
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -5
- package/dist/tests/testStateUtils.js +27 -64
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -5
- package/dist/tests/testUtils.js +15 -64
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +4 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -15
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +22 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +86 -63
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +29 -20
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +28 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +4 -3
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.d.ts +1 -0
- package/dist/tests/uri.test.js +695 -0
- package/dist/tests/uri.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +28 -28
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +11 -11
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +13 -14
- package/dist/workspaceFactory.js +54 -55
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/uriParser.d.ts +0 -24
- package/dist/common/uriParser.js +0 -45
- package/dist/common/uriParser.js.map +0 -1
@@ -60,6 +60,7 @@ const positionUtils_1 = require("../common/positionUtils");
|
|
60
60
|
const pythonVersion_1 = require("../common/pythonVersion");
|
61
61
|
const StringUtils = __importStar(require("../common/stringUtils"));
|
62
62
|
const textRange_1 = require("../common/textRange");
|
63
|
+
const uri_1 = require("../common/uri/uri");
|
63
64
|
const workspaceEditUtils_1 = require("../common/workspaceEditUtils");
|
64
65
|
const localize_1 = require("../localization/localize");
|
65
66
|
const parseNodes_1 = require("../parser/parseNodes");
|
@@ -159,22 +160,22 @@ const similarityLimit = 0.25;
|
|
159
160
|
// We'll remember this many completions in the MRU list.
|
160
161
|
const maxRecentCompletions = 128;
|
161
162
|
class CompletionProvider {
|
162
|
-
constructor(program,
|
163
|
+
constructor(program, _workspaceRootUri, fileUri, position, options, cancellationToken) {
|
163
164
|
this.program = program;
|
164
|
-
this.
|
165
|
-
this.
|
165
|
+
this._workspaceRootUri = _workspaceRootUri;
|
166
|
+
this.fileUri = fileUri;
|
166
167
|
this.position = position;
|
167
168
|
this.options = options;
|
168
169
|
this.cancellationToken = cancellationToken;
|
169
170
|
// Indicates whether invocation position is inside of string literal
|
170
171
|
// token or an f-string expression.
|
171
172
|
this._stringLiteralContainer = undefined;
|
172
|
-
this.execEnv = this.configOptions.findExecEnvironment(this.
|
173
|
-
this.parseResults = this.program.getParseResults(this.
|
174
|
-
this.sourceMapper = this.program.getSourceMapper(this.
|
173
|
+
this.execEnv = this.configOptions.findExecEnvironment(this.fileUri);
|
174
|
+
this.parseResults = this.program.getParseResults(this.fileUri);
|
175
|
+
this.sourceMapper = this.program.getSourceMapper(this.fileUri, this.cancellationToken, /* mapCompiled */ true);
|
175
176
|
}
|
176
177
|
getCompletions() {
|
177
|
-
if (!this.program.getSourceFileInfo(this.
|
178
|
+
if (!this.program.getSourceFileInfo(this.fileUri)) {
|
178
179
|
return null;
|
179
180
|
}
|
180
181
|
const completionMap = this._getCompletions();
|
@@ -208,9 +209,9 @@ class CompletionProvider {
|
|
208
209
|
if (!completionItemData.symbolLabel) {
|
209
210
|
return;
|
210
211
|
}
|
211
|
-
if (completionItemData.
|
212
|
-
importResolver_1.ImportResolver.isSupportedImportSourceFile(completionItemData.
|
213
|
-
const documentation = (0, typeDocStringUtils_1.
|
212
|
+
if (completionItemData.moduleUri &&
|
213
|
+
importResolver_1.ImportResolver.isSupportedImportSourceFile(uri_1.Uri.parse(completionItemData.moduleUri, this.importResolver.fileSystem.isCaseSensitive))) {
|
214
|
+
const documentation = (0, typeDocStringUtils_1.getModuleDocStringFromUris)([uri_1.Uri.parse(completionItemData.moduleUri, this.importResolver.fileSystem.isCaseSensitive)], this.sourceMapper);
|
214
215
|
if (!documentation) {
|
215
216
|
return;
|
216
217
|
}
|
@@ -328,7 +329,7 @@ class CompletionProvider {
|
|
328
329
|
}
|
329
330
|
const methodSignature = this._printMethodSignature(classResults.classType, decl);
|
330
331
|
let text;
|
331
|
-
if ((0, sourceMapper_1.isStubFile)(this.
|
332
|
+
if ((0, sourceMapper_1.isStubFile)(this.fileUri)) {
|
332
333
|
text = `${methodSignature}: ...`;
|
333
334
|
}
|
334
335
|
else {
|
@@ -561,7 +562,7 @@ class CompletionProvider {
|
|
561
562
|
// is turned off (ex, notebook), don't do any thing.
|
562
563
|
return;
|
563
564
|
}
|
564
|
-
const currentFile = this.program.getSourceFileInfo(this.
|
565
|
+
const currentFile = this.program.getSourceFileInfo(this.fileUri);
|
565
566
|
const moduleSymbolMap = (0, autoImporter_1.buildModuleSymbolsMap)(this.program.getSourceFileInfoList().filter((s) => s !== currentFile));
|
566
567
|
const autoImporter = new autoImporter_1.AutoImporter(this.execEnv, this.importResolver, this.parseResults, this.position, completionMap, moduleSymbolMap, {
|
567
568
|
lazyEdit,
|
@@ -619,15 +620,15 @@ class CompletionProvider {
|
|
619
620
|
this.addExtraCommitChar(completionItem);
|
620
621
|
}
|
621
622
|
const completionItemData = {
|
622
|
-
|
623
|
-
|
623
|
+
workspaceUri: this._workspaceRootUri.toString(),
|
624
|
+
uri: this.fileUri.toString(),
|
624
625
|
position: this.position,
|
625
626
|
};
|
626
627
|
if ((detail === null || detail === void 0 ? void 0 : detail.funcParensDisabled) || !this.options.snippet) {
|
627
628
|
completionItemData.funcParensDisabled = true;
|
628
629
|
}
|
629
|
-
if (detail === null || detail === void 0 ? void 0 : detail.
|
630
|
-
completionItemData.
|
630
|
+
if (detail === null || detail === void 0 ? void 0 : detail.moduleUri) {
|
631
|
+
completionItemData.moduleUri = detail.moduleUri.toString();
|
631
632
|
}
|
632
633
|
completionItem.data = (0, lspUtils_1.toLSPAny)(completionItemData);
|
633
634
|
if ((detail === null || detail === void 0 ? void 0 : detail.sortText) || (detail === null || detail === void 0 ? void 0 : detail.itemDetail)) {
|
@@ -1209,7 +1210,7 @@ class CompletionProvider {
|
|
1209
1210
|
if (declWithTypeAnnotations.length === 0) {
|
1210
1211
|
return;
|
1211
1212
|
}
|
1212
|
-
const printFlags = (0, sourceMapper_1.isStubFile)(this.
|
1213
|
+
const printFlags = (0, sourceMapper_1.isStubFile)(this.fileUri)
|
1213
1214
|
? 1 /* ParseTreeUtils.PrintExpressionFlags.ForwardDeclarations */ |
|
1214
1215
|
2 /* ParseTreeUtils.PrintExpressionFlags.DoNotLimitStringLength */
|
1215
1216
|
: 2 /* ParseTreeUtils.PrintExpressionFlags.DoNotLimitStringLength */;
|
@@ -1312,7 +1313,7 @@ class CompletionProvider {
|
|
1312
1313
|
_printMethodSignature(classType, decl) {
|
1313
1314
|
const node = decl.node;
|
1314
1315
|
let ellipsisForDefault;
|
1315
|
-
if ((0, sourceMapper_1.isStubFile)(this.
|
1316
|
+
if ((0, sourceMapper_1.isStubFile)(this.fileUri)) {
|
1316
1317
|
// In stubs, always use "...".
|
1317
1318
|
ellipsisForDefault = true;
|
1318
1319
|
}
|
@@ -1320,7 +1321,7 @@ class CompletionProvider {
|
|
1320
1321
|
// In the same file, always print the full default.
|
1321
1322
|
ellipsisForDefault = false;
|
1322
1323
|
}
|
1323
|
-
const printFlags = (0, sourceMapper_1.isStubFile)(this.
|
1324
|
+
const printFlags = (0, sourceMapper_1.isStubFile)(this.fileUri)
|
1324
1325
|
? 1 /* ParseTreeUtils.PrintExpressionFlags.ForwardDeclarations */ |
|
1325
1326
|
2 /* ParseTreeUtils.PrintExpressionFlags.DoNotLimitStringLength */
|
1326
1327
|
: 2 /* ParseTreeUtils.PrintExpressionFlags.DoNotLimitStringLength */;
|
@@ -1567,15 +1568,15 @@ class CompletionProvider {
|
|
1567
1568
|
(declaration.type !== 1 /* DeclarationType.Variable */ && declaration.type !== 2 /* DeclarationType.Parameter */)) {
|
1568
1569
|
return [];
|
1569
1570
|
}
|
1570
|
-
if (declaration.
|
1571
|
+
if (!declaration.uri.equals(this.fileUri)) {
|
1571
1572
|
return [];
|
1572
1573
|
}
|
1573
1574
|
let startingNode = indexNode.baseExpression;
|
1574
1575
|
if (declaration.node) {
|
1575
1576
|
const scopeRoot = ParseTreeUtils.getEvaluationScopeNode(declaration.node);
|
1576
1577
|
// Find the lowest tree to search the symbol.
|
1577
|
-
if (((_b = ParseTreeUtils.getFileInfoFromNode(startingNode)) === null || _b === void 0 ? void 0 : _b.
|
1578
|
-
((_c = ParseTreeUtils.getFileInfoFromNode(scopeRoot)) === null || _c === void 0 ? void 0 : _c.
|
1578
|
+
if (((_b = ParseTreeUtils.getFileInfoFromNode(startingNode)) === null || _b === void 0 ? void 0 : _b.fileUri) ===
|
1579
|
+
((_c = ParseTreeUtils.getFileInfoFromNode(scopeRoot)) === null || _c === void 0 ? void 0 : _c.fileUri)) {
|
1579
1580
|
startingNode = scopeRoot;
|
1580
1581
|
}
|
1581
1582
|
}
|
@@ -1949,7 +1950,9 @@ class CompletionProvider {
|
|
1949
1950
|
return undefined;
|
1950
1951
|
}
|
1951
1952
|
const completionMap = new CompletionMap();
|
1952
|
-
const resolvedPath = importInfo.
|
1953
|
+
const resolvedPath = importInfo.resolvedUris.length > 0
|
1954
|
+
? importInfo.resolvedUris[importInfo.resolvedUris.length - 1]
|
1955
|
+
: uri_1.Uri.empty();
|
1953
1956
|
const parseResults = this.program.getParseResults(resolvedPath);
|
1954
1957
|
if (!parseResults) {
|
1955
1958
|
// Add the implicit imports.
|
@@ -1975,7 +1978,7 @@ class CompletionProvider {
|
|
1975
1978
|
importInfo.implicitImports.forEach((implImport) => {
|
1976
1979
|
if (!importFromNode.imports.find((imp) => imp.name.value === implImport.name)) {
|
1977
1980
|
this.addNameToCompletions(implImport.name, vscode_languageserver_1.CompletionItemKind.Module, priorWord, completionMap, {
|
1978
|
-
|
1981
|
+
moduleUri: implImport.uri,
|
1979
1982
|
});
|
1980
1983
|
}
|
1981
1984
|
});
|
@@ -2011,8 +2014,8 @@ class CompletionProvider {
|
|
2011
2014
|
const completionItem = vscode_languageserver_1.CompletionItem.create(label);
|
2012
2015
|
completionItem.kind = vscode_languageserver_1.CompletionItemKind.Variable;
|
2013
2016
|
const completionItemData = {
|
2014
|
-
|
2015
|
-
|
2017
|
+
workspaceUri: this._workspaceRootUri.toString(),
|
2018
|
+
uri: this.fileUri.toString(),
|
2016
2019
|
position: this.position,
|
2017
2020
|
};
|
2018
2021
|
completionItem.data = (0, lspUtils_1.toLSPAny)(completionItemData);
|
@@ -2077,8 +2080,7 @@ class CompletionProvider {
|
|
2077
2080
|
// If there are no declarations or the symbol is not
|
2078
2081
|
// exported from this scope, don't include it in the
|
2079
2082
|
// suggestion list unless we are in the same file.
|
2080
|
-
const hidden = !(0, symbolUtils_1.isVisibleExternally)(symbol) &&
|
2081
|
-
!symbol.getDeclarations().some((d) => (0, declarationUtils_1.isDefinedInFile)(d, this.filePath));
|
2083
|
+
const hidden = !(0, symbolUtils_1.isVisibleExternally)(symbol) && !symbol.getDeclarations().some((d) => (0, declarationUtils_1.isDefinedInFile)(d, this.fileUri));
|
2082
2084
|
if (!hidden && includeSymbolCallback(symbol, name)) {
|
2083
2085
|
// Don't add a symbol more than once. It may have already been
|
2084
2086
|
// added from an inner scope's symbol table.
|
@@ -2231,7 +2233,7 @@ class CompletionProvider {
|
|
2231
2233
|
nameParts: node.nameParts.map((part) => part.value),
|
2232
2234
|
importedSymbols: new Set(),
|
2233
2235
|
};
|
2234
|
-
const completions = this.importResolver.getCompletionSuggestions(this.
|
2236
|
+
const completions = this.importResolver.getCompletionSuggestions(this.fileUri, this.execEnv, moduleDescriptor);
|
2235
2237
|
const completionMap = new CompletionMap();
|
2236
2238
|
// If we're in the middle of a "from X import Y" statement, offer
|
2237
2239
|
// the "import" keyword as a completion.
|
@@ -2248,7 +2250,7 @@ class CompletionProvider {
|
|
2248
2250
|
completions.forEach((modulePath, completionName) => {
|
2249
2251
|
this.addNameToCompletions(completionName, vscode_languageserver_1.CompletionItemKind.Module, '', completionMap, {
|
2250
2252
|
sortText: this._makeSortText(SortCategory.ImportModuleName, completionName),
|
2251
|
-
modulePath,
|
2253
|
+
moduleUri: modulePath,
|
2252
2254
|
});
|
2253
2255
|
});
|
2254
2256
|
return completionMap;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../../src/languageService/completionProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iEAS+B;AAE/B,+EAAiE;AACjE,yDAOiC;AACjC,mEAA+D;AAC/D,yEAA0G;AAC1G,+DAAsF;AAEtF,+DAAsF;AACtF,2EAA6D;AAC7D,+DAAgF;AAChF,uDAAyD;AACzD,2DAAoE;AAEpE,6EAA+D;AAC/D,yDAA6F;AAC7F,uDAAqE;AACrE,uEAA6E;AAE7E,yDAA4D;AAC5D,6CAc2B;AAC3B,qDAW+B;AAC/B,mEAA2E;AAC3E,+DAAwD;AAExD,uDAAyC;AACzC,2CAAuC;AAEvC,iDAA0D;AAC1D,2DAA2F;AAC3F,2DAAwD;AACxD,mEAAqD;AACrD,mDAA4E;AAE5E,qEAAkE;AAClE,uDAAqD;AACrD,qDAqB8B;AAW9B,iDAAuF;AACvF,uEAKmC;AACnC,uEAAoE;AACpE,iDAAwF;AAExF,IAAU,QAAQ,CAqDjB;AArDD,WAAU,QAAQ;IACd,MAAM,IAAI,GAAa;QACnB,sBAAsB;QACtB,MAAM;QACN,OAAO;QACP,MAAM;QACN,KAAK;QACL,IAAI;QACJ,KAAK;QACL,IAAI;QACJ,QAAQ;QACR,OAAO;QAEP,qBAAqB;QACrB,QAAQ;QACR,OAAO;QACP,OAAO;QACP,UAAU;QACV,KAAK;QACL,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ;QACR,SAAS;QACT,KAAK;QACL,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,MAAM;QACN,OAAO;QACP,QAAQ;QACR,KAAK;QACL,MAAM;QACN,OAAO;QACP,MAAM;KACT,CAAC;IAEF,MAAM,SAAS,GAAa,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,UAAU,GAAa,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7D,SAAgB,UAAU,CAAC,OAAsB;QAC7C,IAAI,OAAO,IAAI,6BAAa,CAAC,KAAK,EAAE;YAChC,OAAO,UAAU,CAAC;SACrB;QACD,IAAI,OAAO,IAAI,6BAAa,CAAC,IAAI,EAAE;YAC/B,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IARe,mBAAU,aAQzB,CAAA;AACL,CAAC,EArDS,QAAQ,KAAR,QAAQ,QAqDjB;AAED,IAAK,YA2CJ;AA3CD,WAAK,YAAY;IACb,kDAAkD;IAClD,4CAA4C;IAE5C,+DAA+D;IAC/D,iEAAa,CAAA;IAEb,sDAAsD;IACtD,mFAAsB,CAAA;IAEtB,6CAA6C;IAC7C,uEAAgB,CAAA;IAEhB,oBAAoB;IACpB,+DAAY,CAAA;IAEZ,0CAA0C;IAC1C,mEAAc,CAAA;IAEd,6DAA6D;IAC7D,iFAAqB,CAAA;IAErB,+DAA+D;IAC/D,uEAAgB,CAAA;IAEhB,kCAAkC;IAClC,qDAAO,CAAA;IAEP,kBAAkB;IAClB,2DAAU,CAAA;IAEV,mBAAmB;IACnB,+DAAY,CAAA;IAEZ,6DAA6D;IAC7D,uBAAuB;IACvB,kEAAa,CAAA;IAEb,+CAA+C;IAC/C,gEAAY,CAAA;IAEZ,yBAAyB;IACzB,4DAAU,CAAA;AACd,CAAC,EA3CI,YAAY,KAAZ,YAAY,QA2ChB;AAmCY,QAAA,gBAAgB,GAAG,oBAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;AAC3D,QAAA,gBAAgB,GAAG,oBAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;AAExE,gEAAgE;AAChE,qCAAqC;AACrC,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,wDAAwD;AACxD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAa,kBAAkB;IAe3B,YACuB,OAAoB,EACtB,cAAsB,EACpB,QAAgB,EAChB,QAAkB,EAClB,OAA0B,EAC1B,iBAAoC;QALpC,YAAO,GAAP,OAAO,CAAa;QACtB,mBAAc,GAAd,cAAc,CAAQ;QACpB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAU;QAClB,YAAO,GAAP,OAAO,CAAmB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAd3D,oEAAoE;QACpE,mCAAmC;QAC3B,4BAAuB,GAAgD,SAAS,CAAC;QAcrF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpH,CAAC;IAED,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC;SACf;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7C,OAAO,sCAAc,CAAC,MAAM,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,gEAAgE;IAChE,6DAA6D;IAC7D,wDAAwD;IACxD,qBAAqB,CAAC,cAA8B;QAChD,IAAA,gDAA4B,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAErD,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAqB,cAAc,CAAC,IAAI,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QACnC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,kBAAkB,CAAC,cAAc,EAAE;YACnC,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAC;SACtD;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,SAAS,CAChE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,CAC3E,CAAC;QAEF,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,oEAAoE;YACpE,qCAAqC;YACrC,kBAAkB,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SAC7G;QAED,IAAI,QAAQ,KAAK,CAAC,EAAE;YAChB,iCAAiC;YACjC,kBAAkB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;SAChF;QAED,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,MAAM,GAAG,oBAAoB,EAAE;YACzE,kDAAkD;YAClD,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC;SACnD;QAED,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;YACjC,OAAO;SACV;QAED,IACI,kBAAkB,CAAC,UAAU;YAC7B,+BAAc,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAC3E;YACE,MAAM,aAAa,GAAG,IAAA,gDAA2B,EAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACtG,IAAI,CAAC,aAAa,EAAE;gBAChB,OAAO;aACV;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE;gBAC7C,MAAM,cAAc,GAAG,IAAA,gDAA0B,EAAC,aAAa,CAAC,CAAC;gBACjE,cAAc,CAAC,aAAa,GAAG;oBAC3B,IAAI,EAAE,kCAAU,CAAC,QAAQ;oBACzB,KAAK,EAAE,cAAc;iBACxB,CAAC;aACL;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE;gBACrD,MAAM,eAAe,GAAG,IAAA,iDAA2B,EAAC,aAAa,CAAC,CAAC;gBACnE,cAAc,CAAC,aAAa,GAAG;oBAC3B,IAAI,EAAE,kCAAU,CAAC,SAAS;oBAC1B,KAAK,EAAE,eAAe;iBACzB,CAAC;aACL;YACD,OAAO;SACV;QAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YACpC,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;aAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;YAC5C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,wBAAwB,CACzB,kBAAkB,CAAC,WAAW;YAC9B,qBAAqB,CAAC,CAAC;YACvB,cAAc,CAAC,KAAK,EACpB,aAAa,CAChB,CAAC;SACL;IACL,CAAC;IAED,IAAc,SAAS;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC;IACnC,CAAC;IAED,IAAc,cAAc;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACvC,CAAC;IAED,IAAc,aAAa;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACtC,CAAC;IAES,eAAe,CAAC,IAAoB;QAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,mCAA0B;YAC1B,qCAA4B;YAC5B;gBACI,OAAO,IAAI,CAAC;YAEhB;gBACI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mCAA0B,CAAC,KAAK,CAAC,CAAC;YAE9D;gBACI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEpD;gBACI,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEjD;gBACI,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEnG;gBACI,OAAO,KAAK,CAAC;SACpB;IACL,CAAC;IAES,4BAA4B,CAClC,SAAiB,EACjB,WAAqB,EACrB,UAA4B;;QAE5B,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChG,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;aAC9E;SACJ;QAED,MAAM,YAAY,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,mCAAI,KAAK,CAAC;QAC9F,MAAM,WAAW,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,mCAAI,KAAK,CAAC;QAE5F,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;;YACjC,IAAI,IAAI,GAAG,IAAA,2CAA6B,EAAC,MAAM,CAAC,CAAC;YACjD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,qCAA6B,EAAE;gBAChD,IAAI,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;oBACxD,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,0CAAE,IAAI,CAAC;oBACtE,IAAI,CAAC,YAAY,EAAE;wBACf,OAAO;qBACV;oBAED,IAAI,UAAU,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,IAAI,iBAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;oBAE1F,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;wBACpC,yEAAyE;wBACzE,UAAU,GAAG,KAAK,CAAC;qBACtB;oBAED,IAAI,CAAC,IAAA,kBAAU,EAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;wBAC1C,OAAO;qBACV;oBAED,IAAI,UAAU,EAAE;wBACZ,sEAAsE;wBACtE,yBAAyB;wBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;wBACjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,qCAA6B,EAAE;4BAC1E,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;yBACxB;qBACJ;oBAED,MAAM,sBAAsB,GACxB,IAAA,kBAAU,EAAC,YAAY,CAAC,IAAI,oBAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAE1E,wEAAwE;oBACxE,mEAAmE;oBACnE,MAAM,qBAAqB,GACvB,IAAA,kBAAU,EAAC,YAAY,CAAC;wBACxB,oBAAY,CAAC,aAAa,CAAC,YAAY,CAAC;wBACxC,IAAI,KAAK,mBAAmB,CAAC;oBAEjC,IAAI,YAAY,KAAK,sBAAsB,IAAI,WAAW,KAAK,qBAAqB,EAAE;wBAClF,OAAO;qBACV;oBAED,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAEjF,IAAI,IAAY,CAAC;oBACjB,IAAI,IAAA,yBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;wBAC3B,IAAI,GAAG,GAAG,eAAe,OAAO,CAAC;qBACpC;yBAAM;wBACH,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAC7C,YAAY,CAAC,SAAS,EACtB,sBAAsB,EACtB,UAAU,EACV,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CACpB,CAAC;wBACF,IAAI,GAAG,GAAG,eAAe,MAAM,UAAU,EAAE,CAAC;qBAC/C;oBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;oBAEvE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE;wBAC3D,uCAAuC;wBACvC,kBAAkB,EAAE,IAAI;wBACxB,KAAK,EAAE;4BACH,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,wCAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;4BACnE,QAAQ;yBACX;qBACJ,CAAC,CAAC;iBACN;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,yBAAyB,CAC/B,SAAoB,EACpB,cAAuB,EACvB,UAAmB,EACnB,IAAyB,EACzB,WAAqB;QAErB,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,sBAAsB,CAAC;QAElE,IACI,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAC1C,IAAA,eAAO,EAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,iBAAiB,EACzE;YACE,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAClD,OAAO,EAAE,CAAC;SACb;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAClD,OAAO,EAAE,CAAC;SACb;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;YACrC,EAAE,IAAI,SAAS,CAAC;SACnB;QAED,IAAI,WAAW,EAAE;YACb,EAAE,IAAI,QAAQ,CAAC;SAClB;QAED,IAAI,UAAU,EAAE;YACZ,OAAO,EAAE,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACjD;QAED,OAAO,EAAE,GAAG,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAE7F,SAAS,aAAa,CAAC,UAA2B;YAC9C,MAAM,OAAO,GAAkD,EAAE,CAAC;YAElE,IAAI,uBAAuB,GAAG,KAAK,CAAC;YACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAChC,IAAI,SAAS,CAAC,IAAI,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC;wBACT,SAAS;wBACT,SAAS,CAAC,QAAQ,qCAA6B,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,uBAAuB;qBACjG,CAAC,CAAC;iBACN;gBAED,yDAAyD;gBACzD,+BAA+B;gBAC/B,IAAI,SAAS,CAAC,QAAQ,uCAA+B,EAAE;oBACnD,uBAAuB,GAAG,IAAI,CAAC;iBAClC;aACJ;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,SAAS,eAAe,CAAC,SAAsD;;YAC3E,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,KAAK,CAAC;YACtC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,uCAA+B,EAAE;gBACtD,OAAO,IAAI,IAAI,EAAE,CAAC;aACrB;YAED,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,yCAAiC,EAAE;gBACxD,OAAO,KAAK,IAAI,EAAE,CAAC;aACtB;YAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,SAAiB,EAAE,IAA2B,EAAE,IAAY;QACrF,MAAM,sBAAsB,GACxB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,iCAAuB;YACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;YAChE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAElC,MAAM,KAAK,GAAU;YACjB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE;YAC1F,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE;SACvE,CAAC;QAEF,OAAO,gCAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAES,wBAAwB,CAAC,WAAoC;QACnE,yEAAyE;QACzE,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,SAAS,CACf,IAAY,EACZ,MAAc,EACd,SAAiB,EACjB,aAA4B,EAC5B,MAAoB;;QAEpB,uCAAuC;QACvC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAErC,IAAI,WAAW,GAAG,IAAA,2CAA6B,EAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACvD;SACJ;QAED,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE;YAC7C,OAAO;SACV;QAED,WAAW,GAAG,WAAW;YACrB,CAAC,CAAC,MAAA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,mCAAI,WAAW;YAClG,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB;YAC1C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC;YAChF,CAAC,CAAC,SAAS,CAAC;QAEhB,gEAAgE;QAChE,yCAAyC;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,MAAM,kBAAkB,GAAG,IAAA,qBAAU,EAAqB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAEpF,IAAI,kBAAkB,CAAC,WAAW,KAAK,IAAI,EAAE;gBACzC,oCAAoC;gBACpC,OAAO;aACV;YAED,IAAI,kBAAkB,CAAC,cAAc,EAAE;gBACnC,IACI,kBAAkB,CAAC,cAAc,MAAK,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,CAAA;qBAChE,MAAA,MAAM,CAAC,KAAK,0CAAE,mBAAmB,CAAA,EACnC;oBACE,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAA,uCAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;iBAClG;gBACD,OAAO;aACV;YAED,iEAAiE;YACjE,gEAAgE;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,EAAE;gBACP,8BAA8B;gBAC9B,OAAO;aACV;YAED,MAAM,UAAU,GAAG,IAAA,uCAAa,EAC5B,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAC9C,CAAC;YACF,MAAM,aAAa,GAAG,IAAA,kDAAmC,EACrD,IAAI,CAAC,YAAY,EACjB,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,SAAS,EACd;gBACI,IAAI;gBACJ,MAAM;gBACN,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAChD,CACJ,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE;gBAC7F,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,IAAA,wDAA8B,EAC9D,UAAU,EACV,aAAa,EACb,IAAI,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC;aACL;iBAAM;gBACH,IAAA,YAAI,EAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;aAC3D;YAED,sDAAsD;YACtD,OAAO;SACV;QAED,IAAI,WAAW,EAAE;YACb,IAAI,QAAQ,GAAG,IAAI,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC;YAEnE,iEAAiE;YACjE,+DAA+D;YAC/D,wBAAwB;YACxB,IACI,WAAW,CAAC,IAAI,qCAA6B;gBAC7C,MAAM,CAAC,kBAAkB;gBACzB,IAAA,2BAAmB,EAAC,MAAM,CAAC,kBAAkB,CAAC;gBAC9C,iBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBAChD,CAAA,MAAA,WAAW,CAAC,IAAI,CAAC,MAAM,0CAAE,QAAQ,sCAA6B,EAChE;gBACE,QAAQ,GAAG,0CAAkB,CAAC,UAAU,CAAC;aAC5C;YAED,IAAI,CAAC,oBAAoB,CAAC,MAAA,MAAM,CAAC,eAAe,mCAAI,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;gBAC1F,cAAc;gBACd,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;aACtB,CAAC,CAAC;SACN;aAAM;YACH,0EAA0E;YAC1E,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACpD,IAAI,eAAe,EAAE;gBACjB,MAAM,QAAQ,GAAuB,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;gBAClF,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;oBAChE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;iBACtB,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAES,0BAA0B,CAAC,YAA4B,EAAE,SAAiB;QAChF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,aAAa,CAAC;SACxB;QAED,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAEjE,oEAAoE;QACpE,6BAA6B;QAC7B,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE;YAC9C,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACjF;QAED,IAAA,4BAAgB,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAE/D,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,EAAE;gBAClB,MAAM,QAAQ,GAAG,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,iBAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE;oBAC5C,gGAAgG;oBAChG,+BAA+B;oBAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAC7B,CAAC;oBAC3B,IAAI,CAAC,QAAQ,EAAE;wBACX,OAAO;qBACV;oBAED,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;iBAClE;qBAAM;oBACH,IAAA,8BAAkB,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;iBACtD;aACJ;iBAAM,IAAI,IAAA,gBAAQ,EAAC,OAAO,CAAC,EAAE;gBAC1B,IAAA,+BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;aAC7C;iBAAM,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,IAAI,IAAA,4BAAoB,EAAC,OAAO,CAAC,EAAE;gBAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC9E,IAAI,aAAa,IAAI,IAAA,2BAAmB,EAAC,aAAa,CAAC,EAAE;oBACrD,IAAA,8BAAkB,EAAC,aAAa,EAAE,WAAW,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAC;iBAClF;aACJ;iBAAM,IAAI,IAAA,0BAAc,EAAC,OAAO,CAAC,EAAE;gBAChC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC1E,IAAI,WAAW,IAAI,IAAA,2BAAmB,EAAC,WAAW,CAAC,EAAE;oBACjD,IAAA,8BAAkB,EAAC,WAAW,EAAE,WAAW,EAAE,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9E;aACJ;YAED,IAAI,CAAC,yBAAyB,CAC1B,WAAW,EACX,GAAG,EAAE,CAAC,IAAI,EACV,SAAS,EACT,YAAY;YACZ,gBAAgB,CAAC,KAAK,EACtB,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACtC,aAAa,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,wBAAwB,CAC9B,SAAiB,EACjB,eAAuB,EACvB,QAAiB,EACjB,aAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;YAC3C,2EAA2E;YAC3E,oDAAoD;YACpD,OAAO;SACV;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,IAAA,oCAAqB,EACzC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CACxE,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,2BAAY,CACjC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,aAAa,EACb,eAAe,EACf;YACI,QAAQ;SACX,CACJ,CAAC;QAEF,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,IAAA,6BAAW,EACP,OAAO,EACP,YAAY,CAAC,uBAAuB,CAChC,SAAS,EACT,eAAe;QACf,mBAAmB,CAAC,SAAS,EAC7B,IAAI,CAAC,iBAAiB,CACzB,CACJ,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAES,gBAAgB,CAAC,OAA2B,EAAE,SAAiB,EAAE,aAA4B;;QACnG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,MAAM,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE;oBACjE,gBAAgB,EAAE,IAAI;oBACtB,gBAAgB,EAAE,MAAM,CAAC,MAAM;oBAC/B,eAAe,EAAE,MAAM,CAAC,KAAK;oBAC7B,KAAK,EAAE;wBACH,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;wBACxF,mBAAmB,EAAE,MAAM,CAAC,KAAK;qBACpC;iBACJ,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,oBAAoB,CACrB,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,IAAI,EAC3B,MAAA,MAAM,CAAC,IAAI,mCAAI,0CAAkB,CAAC,MAAM,EACxC,SAAS,EACT,aAAa,EACb;oBACI,gBAAgB,EAAE,IAAI;oBACtB,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;oBACjF,KAAK,EAAE;wBACH,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;wBACxF,mBAAmB,EAAE,MAAM,CAAC,KAAK;qBACpC;iBACJ,CACJ,CAAC;aACL;SACJ;IACL,CAAC;IAES,cAAc,CAAC,IAAmB,EAAE,KAAa;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,gCAAuB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;IAC9F,CAAC;IAES,kBAAkB,CAAC,IAAoB;QAC7C,sCAAsC;IAC1C,CAAC;IAES,oBAAoB,CAC1B,IAAY,EACZ,QAA4B,EAC5B,MAAc,EACd,aAA4B,EAC5B,MAAyB;;QAEzB,+EAA+E;QAC/E,MAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,EAAE;YACb,OAAO;SACV;QAED,IACI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,sBAAsB,EAAE,QAAQ,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,0CAAE,UAAU,CAAC,EAC7G;YACE,OAAO;SACV;QAED,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,cAAc,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE/B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE;YAC1B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SAC3C;QAED,MAAM,kBAAkB,GAAuB;YAC3C,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QAEF,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACrD,kBAAkB,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChD;QAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;YACpB,kBAAkB,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;SACrD;QAED,cAAc,CAAC,IAAI,GAAG,IAAA,mBAAQ,EAAC,kBAAkB,CAAC,CAAC;QAEnD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE;YACxC,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC1C,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAC7C;aAAM,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAE;YAC/B,wCAAwC;YACxC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CACxC,YAAY,CAAC,UAAU,EACvB,GAAG,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAClE,MAAM,CAAC,cAAc,CAAC,MAC1B,EAAE,EACF,MAAM,CAAC,cAAc,CAAC,UAAU,CACnC,CAAC;YACF,kBAAkB,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;YACrE,cAAc,CAAC,MAAM,GAAG,wBAAgB,CAAC;YAEzC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,cAAc,CAAC,YAAY,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;aAC/E;SACJ;aAAM,IAAI,QAAQ,KAAK,0CAAkB,CAAC,UAAU,EAAE;YACnD,yEAAyE;YACzE,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC/E;aAAM,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAC3C,gEAAgE;YAChE,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SACjF;aAAM,IAAI,MAAM,KAAK,EAAE,IAAI,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;YACxE,kEAAkE;YAClE,qEAAqE;YACrE,uCAAuC;YACvC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SAClF;aAAM;YACH,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;SACjF;QAED,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;QAEtC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE;YAC7C,IAAI,cAAc,GAAG,EAAE,CAAC;YAExB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAE;gBACxB,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;gBACnD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE;oBAC3C,iEAAiE;oBACjE,cAAc,IAAI,MAAM,CAAC;iBAC5B;aACJ;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;gBACpB,cAAc,IAAI,aAAa,GAAG,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;aACnE;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE;gBACvB,cAAc,IAAI,OAAO,CAAC;gBAC1B,cAAc,IAAI,IAAA,gDAA0B,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aACtE;YAED,cAAc,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;YAE1C,IAAI,cAAc,EAAE;gBAChB,cAAc,CAAC,aAAa,GAAG;oBAC3B,IAAI,EAAE,kCAAU,CAAC,QAAQ;oBACzB,KAAK,EAAE,cAAc;iBACxB,CAAC;aACL;SACJ;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE;YACrD,IAAI,eAAe,GAAG,EAAE,CAAC;YAEzB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,EAAE;gBACxB,eAAe,IAAI,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;gBACpD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE;oBAC3C,iEAAiE;oBACjE,eAAe,IAAI,MAAM,CAAC;iBAC7B;aACJ;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAE;gBACpB,eAAe,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;aAC/C;YAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE;gBACvB,eAAe,IAAI,IAAI,GAAG,IAAA,iDAA2B,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC/E;YAED,eAAe,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;YAE5C,IAAI,eAAe,EAAE;gBACjB,cAAc,CAAC,aAAa,GAAG;oBAC3B,IAAI,EAAE,kCAAU,CAAC,SAAS;oBAC1B,KAAK,EAAE,eAAe;iBACzB,CAAC;aACL;SACJ;aAAM;YACH,IAAA,YAAI,EAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3D;QAED,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,MAAM,EAAE;YACvB,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;SACzD;QAED,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,QAAQ,EAAE;YACzB,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;SACnD;QAED,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,mBAAmB,EAAE;YACpC,cAAc,CAAC,mBAAmB,GAAG,IAAA,uCAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAE1F,mEAAmE;YACnE,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,MAAM,IAAI,GAAG,IAAA,qBAAU,EAAqB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,cAAc,KAAK,kBAAkB,CAAC,cAAc,EAAE;oBAC3D,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC;iBAChF;aACJ;SACJ;QAED,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,IAAY,aAAa;;QACrB,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,mCAAI,EAAE,CAAC;IACzC,CAAC;IAEO,eAAe;;QACnB,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/F,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEhF,iEAAiE;QACjE,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnG,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,8BAAqB,EAAE;YAClC,MAAM,WAAW,GAAG,KAAoB,CAAC;YACzC,IAAI,CAAC,uBAAuB,GAAG,qBAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAClE,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,WAAW,CAAC,KAAK,4CAAgC;oBACnD,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,SAAS,CAAC;SACnB;aAAM,IAAI,IAAI,EAAE;YACb,MAAM,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,sCAA6B,CAAC;YAC9F,IAAI,gBAAgB,EAAE;gBAClB,IAAI,CAAC,uBAAuB,GAAI,gBAAqC,CAAC,KAAK,CAAC;aAC/E;SACJ;QAED,oEAAoE;QACpE,mEAAmE;QACnE,QAAQ;QACR,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,gCAAuB,EAAE;YAC7D,IAAI,SAAS,GAAG,MAAM,CAAC;YACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,OAAO,SAAS,IAAI,CAAC,EAAE;gBACnB,SAAS,EAAE,CAAC;gBAEZ,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,GAAG,EAAE;oBACxD,MAAM;iBACT;gBACD,IAAI,OAAO,KAAK,GAAG,EAAE;oBACjB,QAAQ,GAAG,IAAI,CAAC;iBACnB;gBAED,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACxF,IAAI,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE;oBACpC,IAAI,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,EAAE;wBACrD,IAAI,GAAG,OAAO,CAAC;wBAEf,iEAAiE;wBACjE,uCAAuC;wBACvC,IAAI,QAAQ,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,yCAA+B,EAAE;4BAClE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;yBACtB;qBACJ;oBACD,MAAM;iBACT;aACJ;SACJ;QAED,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,SAAS,CAAC;SACpB;QAED,0DAA0D;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,qDAAqD;QACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAO,SAAS,CAAC;SACpB;QAED,8DAA8D;QAC9D,cAAc;QACd,IAAI,SAAS,GAA0B,IAAI,CAAC;QAC5C,OAAO,SAAS,EAAE;YACd,IAAI,SAAS,CAAC,QAAQ,gCAAwB,EAAE;gBAC5C,MAAM;aACT;YAED,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;SAChC;QAED,2DAA2D;QAC3D,yBAAyB;QACzB,IAAI,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC;QAChC,OAAO,IAAI,EAAE;YACT,IAAA,gDAA4B,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,QAAQ,kCAAyB,EAAE;gBAC3C,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACvF;YAED,IAAI,OAAO,CAAC,QAAQ,sCAA6B,IAAI,OAAO,CAAC,QAAQ,wCAA+B,EAAE;gBAClG,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,OAAO,CAAC,QAAQ,sCAA6B,EAAE;gBAC/C,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;aACpD;YAED,IAAI,OAAO,CAAC,QAAQ,gCAAwB,EAAE;gBAC1C,OAAO,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAC/F;YAED,IAAI,OAAO,CAAC,QAAQ,wCAA+B,EAAE;gBACjD,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;aAC7E;YAED,IAAI,OAAO,CAAC,QAAQ,sCAA6B,EAAE;gBAC/C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC1C,IACI,IAAI,CAAC,kCAAkC,CACnC,OAAO;gBACP,gBAAgB,CAAC,SAAS,EAC1B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,CAChB,EACH;oBACE,OAAO,aAAa,CAAC;iBACxB;aACJ;YAED,MAAM,eAAe,GAAG,cAAc,CAAC,4BAA4B,CAC/D,OAAO,4CAEV,CAAC;YACF,IAAI,eAAe,EAAE;gBACjB,IAAI,CAAA,MAAA,eAAe,CAAC,MAAM,0CAAE,QAAQ,uCAA6B,EAAE;oBAC/D,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC;oBAC9C,IAAI,cAAc,CAAC,kBAAkB,IAAI,cAAc,CAAC,kBAAkB,CAAC,KAAK,GAAG,MAAM,EAAE;wBACvF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;wBAC1C,IACI,IAAI,CAAC,kCAAkC,CACnC,cAAc;wBACd,gBAAgB,CAAC,SAAS,EAC1B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,CAChB,EACH;4BACE,OAAO,aAAa,CAAC;yBACxB;qBACJ;iBACJ;aACJ;YAED,IAAI,OAAO,CAAC,QAAQ,gCAAuB,EAAE;gBACzC,uEAAuE;gBACvE,sFAAsF;gBACtF,0BAA0B;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC5F,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;oBAChC,OAAO,MAAM,CAAC;iBACjB;aACJ;YAED,IAAI,OAAO,CAAC,QAAQ,gCAAuB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,GAAG,EAAE;gBAClF,oEAAoE;gBACpE,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,OAAO,CAAC,QAAQ,sCAA6B,EAAE;gBAC/C,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;aAC7D;YAED,IAAI,IAAA,6BAAgB,EAAC,OAAO,CAAC,EAAE;gBAC3B,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClF;YAED,IAAI,OAAO,CAAC,QAAQ,iCAAwB,EAAE;gBAC1C,IACI,OAAO,CAAC,MAAM;oBACd,OAAO,CAAC,MAAM,CAAC,QAAQ,kCAAyB;oBAChD,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;oBACpB,OAAO,CAAC,MAAM,CAAC,cAAc;oBAC7B,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM;oBACxD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAC5C;oBACE,gCAAgC;oBAChC,OAAO,SAAS,CAAC;iBACpB;gBAED,IACI,OAAO,CAAC,MAAM;oBACd,OAAO,CAAC,MAAM,CAAC,QAAQ,iCAAwB;oBAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACpD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBACrC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EACtC;oBACE,kBAAkB;oBAClB,OAAO,SAAS,CAAC;iBACpB;gBAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACjF;YAED,IAAI,OAAO,CAAC,QAAQ,kCAAyB,EAAE;gBAC3C,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aACjF;YAED,IACI,OAAO,CAAC,QAAQ,qCAA4B;gBAC5C,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpB,OAAO,CAAC,MAAM;gBACd,OAAO,CAAC,MAAM,CAAC,QAAQ,kCAAyB,EAClD;gBACE,0CAA0C;gBAC1C,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,MAAM;aACT;YAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;SAC5B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,6CAA6C;IAC7C,6CAA6C;IAC7C,oDAAoD;IACpD,aAAa;IACL,sBAAsB,CAC1B,OAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,QAAgB;;QAEhB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,oCAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE;YACxF,qCAAqC;YACrC,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,sCAA6B,EAAE;YACtD,2CAA2C;YAC3C,IACI,OAAO,CAAC,MAAM,CAAC,MAAM;gBACrB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,oCAA2B;gBACzD,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;gBAC5B,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAClD;gBACE,OAAO,SAAS,CAAC;aACpB;YAED,uDAAuD;YACvD,oCAAoC;YACpC,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3D;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,wCAA+B,EAAE;YACxD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE;gBAClC,4CAA4C;gBAC5C,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACzC,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,sCAA6B,EAAE;gBAChE,kDAAkD;gBAClD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;oBACpE,OAAO,SAAS,CAAC;iBACpB;gBAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;oBACjC,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAChE;gBAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aACzD;YAED,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,wCAA+B,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;YACjG,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;SACpF;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,kCAAyB,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACrF,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,oCAA2B,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACvF,IAAI,MAAA,OAAO,CAAC,MAAM,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7D,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAClE;YAED,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,qCAA4B,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACxF,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,iCAAwB,IAAI,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACpF,OAAO,SAAS,CAAC;SACpB;QAED,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,+BAAsB;YAC7C,qBAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EACpE;YACE,OAAO,SAAS,CAAC;SACpB;QAED,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,gDAAuC;YAC9D,qBAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EACpE;YACE,OAAO,SAAS,CAAC;SACpB;QAED,+FAA+F;QAC/F,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,qCAA6B;YACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,+CAAuC,EAChE;YACE,MAAM,QAAQ,GACV,OAAO,CAAC,MAAM,CAAC,QAAQ,+CAAuC;gBAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI;gBACrB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;YAExC,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,IAAA,mCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;gBACtF,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC9F,IAAI,aAAa,EAAE;gBACf,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACvC;YAED,OAAO,aAAa,CAAC;SACxB;QAED,4BAA4B;QAC5B,eAAe;QACf,uBAAuB;QACvB,IACI,OAAO,CAAC,MAAM,CAAC,QAAQ,yCAAgC;YACvD,CAAA,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,kCAAwB;YACvD,CAAA,MAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,kCAAwB,EAChE;YACE,MAAM,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,cAAc,EAAE;gBAChB,OAAO,cAAc,CAAC;aACzB;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAC,MAAc;;QACnC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,EAAE;YACR,6DAA6D;YAC7D,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,mCAAI,KAAK,CAAC;QAE3E,SAAS,aAAa,CAAC,MAAc,EAAE,MAAkC;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,UAAU,GAAG,CAAC,EAAE;gBAChB,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACzC,mEAAmE;YACnE,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE;gBAC7D,OAAO,SAAS,CAAC;aACpB;YAED,wDAAwD;YACxD,qDAAqD;YACrD,wDAAwD;YACxD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;oBACjC,MAAM;iBACT;gBAED,KAAK,GAAG,SAAS,CAAC;aACrB;YAED,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;gBACvB,OAAO,KAAK,CAAC;aAChB;YAED,0DAA0D;YAC1D,yBAAyB;YACzB,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAEO,8BAA8B,CAClC,IAAe,EACf,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,QAAgB;;QAEhB,2DAA2D;QAC3D,gEAAgE;QAChE,2DAA2D;QAC3D,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,8CAAsC,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;aACpD;YAED,gDAAwC,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;aACtD;YAED,6DAAqD;YACrD,sDAA8C,CAAC,CAAC;gBAC5C,2CAA2C;gBAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;gBAC1D,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC7E,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,EAAE,MAAO,CAAC,CAAC;gBAClF,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAEpF,IAAI,IAAI,CAAC,QAAQ,sDAA8C,EAAE;oBAC7D,4BAA4B;oBAC5B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4BAAkB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,iCAAuB,EAAE;wBACrE,MAAM;qBACT;oBAED,oBAAoB;oBACpB,gCAAgC;oBAChC,wBAAwB;oBACxB,EAAE;oBACF,8FAA8F;oBAC9F,gGAAgG;oBAChG,yFAAyF;oBACzF,mEAAmE;oBACnE,iDAAiD;oBACjD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,+BAAsB,IAAI,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE;wBACzE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;qBAC/E;oBAED,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,4BAAkB,EAAE;wBACnC,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;qBAC/E;oBAED,MAAM,cAAc,GAAG,qBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACnD,MAAM,YAAY,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;oBAClG,IACI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,iCAAwB;wBAC9C,YAAY,CAAC,QAAQ,4DAAoD,EAC3E;wBACE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;qBAC/E;yBAAM;wBACH,wEAAwE;wBACxE,IAAI,GAAG,YAAY,CAAC;qBACvB;iBACJ;qBAAM,IAAI,IAAI,CAAC,QAAQ,4DAAoD,EAAE;oBAC1E,qCAAqC;oBACrC,IACI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4BAAkB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,iCAAuB,CAAC;wBACrE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,4BAAkB,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,iCAAuB,CAAC,EAC/E;wBACE,OAAO,SAAS,CAAC;qBACpB;iBACJ;gBAED,OAAO,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACvE;YAED,6DAAqD,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;aAC/E;YAED,qDAA4C;YAC5C,wDAAgD,CAAC,CAAC;gBAC9C,IAAI,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAElG,IAAI,CAAC,iBAAiB,EAAE;oBACpB,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC5F;gBAED,OAAO,iBAAiB,CAAC;aAC5B;YAED,kEAAyD,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,gCAAuB,EAAE;oBAC1D,IAAI,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;wBACnD,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;qBACrE;oBAED,8DAA8D;oBAC9D,4BAA4B;oBAC5B,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBACpF;gBACD,MAAM;aACT;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,sCAAsC,CAAC,IAAe,EAAE,SAAiB;QAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,6BAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9C,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAEO,WAAW,CAAC,IAAmB;QACnC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAEO,8BAA8B,CAAC,OAAe;QAClD,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,OAAO,CAAC;QACjD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClC,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,0CAA0C,CAC9C,SAAiB,EACjB,SAAoB,EACpB,aAA4B;;QAE5B,WAAW;QACX,iBAAiB;QACjB,MAAM,+BAA+B,GACjC,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,QAAQ,2CAAiC;YAC3D,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,gCAAuB;YAChE,SAAS,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;YAC7C,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,0CAAgC;YACjE,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,kCAAwB;YAChE,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,kCAAwB,CAAC;QAE5E,IAAI,CAAC,+BAA+B,EAAE;YAClC,OAAO;SACV;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO;SACV;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,iBAAiB,GAAK,SAAS,CAAC,MAA6B,CAAC,eAA4B,CAAC,KAAK,CAAC;QACvG,MAAM,WAAW,GAAG,IAAA,6BAAiB,EACjC,YAAY,CAAC,SAAS,EACtB,iBAAiB,EACjB,4FAA2E,CAC9E,CAAC;QAEF,oEAAoE;QACpE,IAAI,WAAW,EAAE;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE;gBAC9C,mBAAmB,EAAE,IAAI;gBACzB,eAAe,EAAE,KAAK;aACzB,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,0CAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE;gBACpF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;aACjE,CAAC,CAAC;YACH,OAAO;SACV;QAED,oEAAoE;QACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,IAAI,QAAQ,KAAK,YAAY,CAAC,SAAS,EAAE;gBACrC,uBAAuB;gBACvB,SAAS;aACZ;YAED,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;aAC9E;SACJ;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QAED,MAAM,KAAK,GAAG,MAAM;aACf,eAAe,EAAE;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAqB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAA0B,CAAC;QAErG,8DAA8D;QAC9D,IACI,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,cAAc,CAAC,EACjG;YACE,OAAO;SACV;QAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC1E,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO;SACV;QAED,MAAM,UAAU,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC;YACxC,CAAC,CAAC;kFAC0D;YAC5D,CAAC,mEAA2D,CAAC;QAEjE,MAAM,IAAI,GAAG,GAAG,cAAc,CAAC,eAAe,CAC1C,uBAAuB,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAmB,EAC/E,UAAU,CACb,EAAE,CAAC;QAEJ,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,0CAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE;YACpF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;SACjE,CAAC,CAAC;IACP,CAAC;IAEO,4BAA4B,CAAC,WAAqB;QACtD,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;gBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;aAC9E;SACJ;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,IACI,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;gBACnC,MAAM,CAAC,eAAe,EAAE;gBACxB,MAAM,CAAC,kBAAkB,EAAE;gBAC3B,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EACzD;gBACE,OAAO;aACV;YAED,MAAM,KAAK,GAAG,MAAM;iBACf,eAAe,EAAE;iBACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAqB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAA0B,CAAC;YAErG,8DAA8D;YAC9D,IACI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,cAAc,CAAC,EACjG;gBACE,OAAO;aACV;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAEO,8BAA8B,CAAC,SAAiB,EAAE,WAAqB;;QAC3E,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,kBAAkB,GAAG,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,QAAQ,qCAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACtG,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,MAAM,aAAa,GAAG,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACvE,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,IAAA,2CAA6B,EAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,qCAA6B,EAAE;gBACjD,OAAO;aACV;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBACxD,mDAAmD;gBACnD,OAAO;aACV;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE;gBACnE,qBAAqB;gBACrB,OAAO;aACV;YAED,IAAI,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;gBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE;oBAC3D,kBAAkB;oBAClB,KAAK,EAAE,EAAE,QAAQ,EAAE;iBACtB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;QAErB,SAAS,cAAc,CAAC,SAAwB,EAAE,WAAqB;YACnE,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC5E,IAAI,cAAc,EAAE;gBAChB,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC9D,IAAI,CAAC,YAAY,EAAE;oBACf,OAAO,SAAS,CAAC;iBACpB;gBAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAC9C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;oBACvD,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE;wBAC/B,IAAA,8BAAkB,EAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC;qBAC9E;iBACJ;gBAED,OAAO,WAAW,CAAC;aACtB;YAED,gEAAgE;YAChE,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,UAAU,EAAE;gBACZ,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1D,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC;aACnC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,SAAoB,EAAE,IAAyB;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,kBAAuC,CAAC;QAC5C,IAAI,IAAA,yBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3B,8BAA8B;YAC9B,kBAAkB,GAAG,IAAI,CAAC;SAC7B;aAAM,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YACzD,mDAAmD;YACnD,kBAAkB,GAAG,KAAK,CAAC;SAC9B;QAED,MAAM,UAAU,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC;YACxC,CAAC,CAAC;kFAC0D;YAC5D,CAAC,mEAA2D,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU;aAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,QAAQ,uCAA+B,EAAE;gBAC/C,WAAW,IAAI,GAAG,CAAC;aACtB;iBAAM,IAAI,KAAK,CAAC,QAAQ,yCAAiC,EAAE;gBACxD,WAAW,IAAI,IAAI,CAAC;aACvB;YAED,IAAI,KAAK,CAAC,IAAI,EAAE;gBACZ,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aACnC;YAED,kGAAkG;YAClG,mBAAmB;YACnB,MAAM,mBAAmB,GAAG,cAAc,CAAC,6BAA6B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtF,IAAI,mBAAmB,EAAE;gBACrB,WAAW,IAAI,IAAI,GAAG,cAAc,CAAC,eAAe,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;aACzF;YAED,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,WAAW,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEjD,MAAM,WAAW,GAAG,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpF,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;aACvG;YAED,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,qCAA6B,EAAE;gBAC5E,OAAO,GAAG,CAAC;aACd;YAED,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhB,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;QAE9D,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,eAAe,IAAI,MAAM,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;SACrG;aAAM,IAAI,IAAI,CAAC,yBAAyB,EAAE;YACvC,eAAe;gBACX,MAAM;oBACN,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;SACvG;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,wBAAwB,CAC5B,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,8DAA8D;QAC9D,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrF,CAAC;IAEO,yBAAyB,CAC7B,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB;;QAEhB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEzD,6DAA6D;QAC7D,0BAA0B;QAC1B,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,QAAQ,kCAAyB,EAAE;YACjE,OAAO,SAAS,CAAC;SACpB;QAED,kCAAkC;QAClC,oCAAoC;QACpC,IACI,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,QAAQ,qCAA2B;YACrD,SAAS,CAAC,MAAM,MAAK,MAAA,SAAS,CAAC,MAAM,CAAC,MAAM,0CAAE,MAAM,CAAA,EACtD;YACE,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,2CAA2C;QAC3C,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;YAC9B,OAAO,aAAa,CAAC;SACxB;QAED,gDAAgD;QAChD,eAAe;QACf,8BAA8B;QAC9B,IAAI,CAAC,0CAA0C,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAErF,iCAAiC;QACjC,IAAI,CAAC,2BAA2B,CAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ;QACR,gBAAgB,CAAC,KAAK,EACtB,aAAa,CAChB,CAAC;QAEF,iCAAiC;QACjC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtD,gBAAgB;QAChB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACnG,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBAC5B,OAAO;aACV;YACD,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5E,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,+DAA+D;QAC/D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACpD,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;SACnG;QAED,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE/E,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,gBAAgB,CAAC,IAAe;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,OAAO,CACH,WAAW;YACX,WAAW,CAAC,QAAQ,mCAA2B;YAC/C,WAAW,CAAC,gBAAgB,oCAA4B;YACxD,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,MAAM,CAAC,QAAQ,iCAAwB;YACnD,WAAW,CAAC,MAAM,CAAC,cAAc;YACjC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,gCAAuB,CACpE,CAAC;IACN,CAAC;IAEO,2BAA2B,CAC/B,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,UAAmB,EACnB,aAA4B;QAE5B,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC;QAChG,MAAM,QAAQ,GAAG,IAAA,mDAAkC,EAC/C,SAAS,EACT,MAAM,EACN,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAC3C,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO;SACV;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CACrD,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,YAAY,CACxB,CAAC;QAEF,IAAI,aAAa,EAAE;YACf,gEAAgE;YAChE,MAAM,WAAW,GAAG,IAAA,uCAAuB,EACvC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAC1F,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAC1C,CAAC;YAEF,IAAI,IAAA,4BAAgB,EAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;gBAClD,IAAI,CAAC,UAAU,EAAE;oBACb,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;iBACrE;gBAED,6CAA6C;gBAC7C,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;aACnG;SACJ;IACL,CAAC;IAEO,4BAA4B,CAChC,aAAgC,EAChC,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;QAE5B,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBACxB,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,UAAU,GAAG,CAAC,EAAE;gBAChB,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YAC3D,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC9F,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,8BAA8B,CAClC,IAAU,EACV,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnD,IAAI,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBAC/B,MAAM,KAAK,GAAG,IAAA,+BAAiB,EAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC9D,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE;oBACtC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,0CAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;wBACpF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,YAAsB,CAAC;qBACpF,CAAC,CAAC;iBACN;qBAAM;oBACH,IAAI,CAAC,8BAA8B,CAC/B,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EACjC,UAAU,EACV,QAAQ,EACR,aAAa,CAChB,CAAC;iBACL;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,4BAA4B,CAAC,SAAoB,EAAE,UAAoC;QAC3F,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,EAAE,CAAC;SACb;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,KAAK,CAAC,QAAQ,8CAAqC,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA,EAAE;gBAChG,OAAO,EAAE,CAAC;aACb;YAED,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,sCAA6B,EAAE;gBAC3D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aACrE;YAED,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,SAAS,qBAAqB,CAAC,SAAoB;YAC/C,mGAAmG;YACnG,IAAI,SAAS,CAAC,QAAQ,sCAA6B,EAAE;gBACjD,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,OAAO,GAA0B,SAAS,CAAC;YAC/C,OAAO,OAAO,IAAI,OAAO,CAAC,QAAQ,sCAA6B,IAAI,OAAO,CAAC,QAAQ,+BAAsB,EAAE;gBACvG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO;iBACV;aACJ;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAEO,6BAA6B,CAAC,IAAU;QAC5C,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,IAAA,4BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC/B,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,IAAA,yBAAa,EAAC,OAAO,CAAC,EAAE;gBACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,gBAAgB,CAAC,QAAmB;QACxC,sBAAsB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChF,IAAI,WAAW,EAAE;YACb,MAAM,cAAc,GAAW,EAAE,CAAC;YAElC,uDAAuD;YACvD,IAAA,8BAAkB,EAAC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;gBAC1C,IACI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;oBACxC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,qCAA6B,EACvE;oBACE,cAAc,CAAC,IAAI,CAAC,oBAAY,CAAC,yBAAyB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;iBAC7E;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,OAAO,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;aACvC;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,aAAa,CAAC,SAAoB,EAAE,cAAyB;;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAA,uBAAe,EAAC,QAAQ,CAAC,EAAE;YACzC,OAAO,EAAE,CAAC;SACb;QAED,2FAA2F;QAC3F,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,aAAa,EAAE;YACf,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5D,IACI,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;oBAC9B,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;oBAC9B,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;oBAC/B,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;oBAChC,CAAC,iBAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAC3B;oBACE,OAAO;iBACV;gBAED,IAAI,CAAC,IAAI,CAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACvG,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjB,OAAO,IAAI,CAAC;aACf;SACJ;QAED,IAAI,SAAS,CAAC,cAAc,CAAC,QAAQ,gCAAuB,EAAE;YAC1D,iDAAiD;YACjD,OAAO,EAAE,CAAC;SACb;QAED,mCAAmC;QACnC,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,SAAS,CAAC,cAAc,CAAC,mCAAI,EAAE,CAAC;QAC/F,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IACI,CAAC,WAAW;YACZ,CAAC,WAAW,CAAC,IAAI,qCAA6B,IAAI,WAAW,CAAC,IAAI,sCAA8B,CAAC,EACnG;YACE,OAAO,EAAE,CAAC;SACb;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;YACpC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,YAAY,GAAc,SAAS,CAAC,cAAc,CAAC;QACvD,IAAI,WAAW,CAAC,IAAI,EAAE;YAClB,MAAM,SAAS,GAAG,cAAc,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE1E,6CAA6C;YAC7C,IACI,CAAA,MAAA,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,0CAAE,QAAQ;iBAC1D,MAAA,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,0CAAE,QAAQ,CAAA,EACzD;gBACE,YAAY,GAAG,SAAS,CAAC;aAC5B;SACJ;QAED,MAAM,OAAO,GAAG,iDAAuB,CAAC,eAAe,CACnD,IAAI,CAAC,OAAO,EACZ,SAAS,CAAC,cAAc,EACxB,IAAI,CAAC,iBAAiB,EACtB,YAAY,CACf,CAAC;QAEF,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,MAAM,IAAI,GACN,CAAA,MAAA,MAAM,CAAC,IAAI,CAAC,MAAM,0CAAE,QAAQ,2CAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAErG,IACI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,sCAA6B;gBAClD,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,gDAAuC,EAC9D;gBACE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,sCAA6B,EAAE;oBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;oBAC/C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,8CAAqC,CAC7B,EAAE;wBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;6BAC7B,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;6BAC7D,IAAI,EAAE,CAAC;wBACZ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;4BAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACrC;iBACJ;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,+BAAuB,EAAE;oBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;oBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;wBAC3E,SAAS;qBACZ;oBAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;wBAC9B,MAAM,GAAG,GAAG,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,CAAC,IAAI,EAAE,mCAAI,EAAE,CAAC;wBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,+BAA+B,CAAC;wBAChF,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;yBACtC;qBACJ;iBACJ;aACJ;YAED,IACI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,kCAAwB;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,gCAAwB;gBACrE,CAAC,qBAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EACvD;gBACE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI;qBAC7B,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC;qBACjF,IAAI,EAAE,CAAC;gBACZ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACrC;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEO,sBAAsB,CAC1B,SAAiC,EACjC,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,GAAG,EAAE;YAChF,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE;gBAChC,uFAAuF;gBACvF,sFAAsF;gBACtF,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE;YACjF,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,eAAe,CACnB,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;;QAE5B,MAAM,cAAc,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,KAAK,CAAC;SAChB;QAED,2EAA2E;QAC3E,qCAAqC;QACrC,MAAM,mBAAmB,GACrB,cAAc,CAAC,MAAM,CAAC,QAAQ,qCAA6B;YACvD,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,KAAK,cAAc,CAAC,KAAK;gBAC5D,CAAC,CAAC,cAAc,CAAC,KAAK;gBACtB,CAAC,CAAC,SAAS;YACf,CAAC,CAAC,IAAA,6BAAgB,EAAC,cAAc,CAAC,KAAK,CAAC;gBACxC,CAAC,CAAC,cAAc,CAAC,KAAK;gBACtB,CAAC,CAAC,SAAS,CAAC;QAEpB,IAAI,mBAAmB,EAAE;YACrB,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;YAC/E,IAAI,kBAAkB,IAAI,IAAA,+BAAmB,EAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBACpE,IAAI,CAAC,8BAA8B,CAC/B,kBAAkB,CAAC,IAAI,EACvB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,CAChB,CAAC;gBACF,OAAO,IAAI,CAAC;aACf;SACJ;QAED,gFAAgF;QAChF,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;QACzC,IAAI,UAAU,EAAE;YACZ,wEAAwE;YACxE,mBAAmB;YACnB,IAAI,SAA+C,CAAC;YAEpD,IACI,UAAU,CAAC,QAAQ,8CAAqC;gBACxD,UAAU,CAAC,aAAa,KAAK,cAAc,CAAC,KAAK;gBACjD,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,QAAQ,uCAA6B,EAC1D;gBACE,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;aACjC;iBAAM,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,gCAAsB,EAAE;gBACnD,SAAS,GAAG,UAAU,CAAC;aAC1B;YAED,IAAI,SAAS,EAAE;gBACX,IACI,IAAI,CAAC,kCAAkC,CACnC,SAAS,EACT,SAAS,CAAC,QAAQ,kCAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACnE,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,CAChB,EACH;oBACE,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QAED,yBAAyB;QACzB,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;QACvC,IAAI,QAAQ,CAAC,QAAQ,mCAA2B,IAAI,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,QAAQ,kCAAwB,EAAE;YACnG,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,kCAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,IACI,IAAI,CAAC,+BAA+B,CAChC,QAAQ,CAAC,MAAM,EACf,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,aAAa,CAChB,EACH;gBACE,OAAO,IAAI,CAAC;aACf;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAE5D,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACpB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACxB,wDAAwD;oBACxD,sBAAsB;oBACtB,oBAAoB;oBACpB,+DAA+D;oBAC/D,SAAS;iBACZ;gBAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,SAAS,CAAC,QAAQ,kCAAyB,IAAI,CAAC,aAAa,EAAE;oBAC/D,SAAS;iBACZ;gBAED,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,aAAa,EAAE;oBACf,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAEtD,IAAI,CAAC,8BAA8B,CAC/B,eAAe,EACf,SAAS,EACT,QAAQ,EACR,aAAa,EACb,wBAAgB,CACnB,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,0CAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE;wBAClF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC;wBAC5D,UAAU,EAAE,wBAAgB;qBAC/B,CAAC,CAAC;iBACN;aACJ;YAED,IAAI,QAAQ,EAAE;gBACV,OAAO,IAAI,CAAC;aACf;SACJ;QAED,uBAAuB;QACvB,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;QACzC,MAAM,kBAAkB,GAAG,4FAAkE,CAAC;QAC9F,IAAI,UAAU,CAAC,QAAQ,0CAAkC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,IAAI,IAAI,IAAA,+BAAmB,EAAC,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACzF,OAAO,IAAI,CAAC;aACf;SACJ;QAED,uBAAuB;QACvB,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAAC;QACnD,IACI,oBAAoB,CAAC,QAAQ,+CAAuC;YACpE,oBAAoB,CAAC,eAAe,KAAK,cAAc,CAAC,KAAK,EAC/D;YACE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,IAAI,IAAI,IAAA,+BAAmB,EAAC,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACzF,OAAO,IAAI,CAAC;aACf;SACJ;QAED,sEAAsE;QACtE,WAAW;QACX,sBAAsB;QACtB,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;QACvC,IACI,QAAQ,CAAC,QAAQ,gCAAuB;YACxC,QAAQ,CAAC,OAAO,CAAC,QAAQ,gCAAwB;YACjD,QAAQ,CAAC,OAAO,CAAC,QAAQ,oDAA2C;YACpE,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK;YACvC,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,QAAQ,kCAAwB,EACnD;YACE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACvE,IAAI,IAAI,IAAI,IAAA,+BAAmB,EAAC,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACzF,OAAO,IAAI,CAAC;aACf;SACJ;QAED,WAAW;QACX,wBAAwB;QACxB,uBAAuB;QACvB,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;QAC7C,IACI,CAAC,cAAc,CAAC,QAAQ,0CAAiC;YACrD,cAAc,CAAC,QAAQ,0CAAiC,CAAC;YAC7D,CAAA,MAAA,cAAc,CAAC,MAAM,0CAAE,QAAQ,sCAA4B;YAC3D,CAAA,MAAA,cAAc,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,iCAAuB;YAC7D,CAAA,MAAA,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,kCAAwB,EACvE;YACE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC3F,IAAI,IAAI,IAAI,IAAA,+BAAmB,EAAC,IAAI,CAAC,EAAE;gBACnC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACzF,OAAO,IAAI,CAAC;aACf;SACJ;QAED,IAAI,SAAS,CAAC,QAAQ,kCAAyB,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAE,CAAC;YAChG,MAAM,UAAU,GAAG,SAAS,CAAC,MAAO,CAAC,KAAK,GAAG,MAAM,IAAI,MAAM,GAAG,qBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5F,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YACvG,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;QAEb,SAAS,2BAA2B,CAAC,IAAe;;YAChD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,IAAI,CAAC,QAAQ,kCAAyB,EAAE;gBACxC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC/C;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACrB,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,uCAA6B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtF,OAAO,SAAS,CAAC;aACpB;YAED,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9D,CAAC;IACL,CAAC;IAEO,oBAAoB,CACxB,IAAU,EACV,YAAsB,EACtB,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;QAE5B,IAAI,UAAU,GAAgB,EAAE,CAAC;QAEjC,IAAA,4BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC/B,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;gBACjE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QAED,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAEvC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7B,IAAA,wCAA2B,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChG,gDAAgD;gBAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC7C,OAAO;iBACV;gBAED,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAElB,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,kCAAkC,CACtC,cAAwC,EACxC,UAAkC,EAClC,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;;QAE5B,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;QAED,kEAAkE;QAClE,yEAAyE;QACzE,IAAI,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;YACpG,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAC1C,cAAc,EACd,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAA,UAAU,CAAC,MAAM,0CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;QAEF,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnH,CAAC;IAEO,oBAAoB,CAAC,KAAkB,EAAE,IAAc;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAA,wCAA2B,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE5F,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC3B,OAAO,EAAE,CAAC;iBACb;aACJ;YAED,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,wDAAwD;YACxD,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,8DAA8D;IAC9D,oCAAoC;IAC5B,aAAa,CAAC,SAAiB,EAAE,SAAiB;QACtD,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,+BAA+B,CAAC;QAEvF,6DAA6D;QAC7D,0BAA0B;QAC1B,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;SAC5E;QAED,MAAM,WAAW,GAAG,GAAG,CAAC;QACxB,MAAM,WAAW,GAAG,GAAG,CAAC;QAExB,+DAA+D;QAC/D,8BAA8B;QAC9B,mEAAmE;QACnE,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAE3D,IAAI,eAAe,GAAG,eAAe,EAAE;gBACnC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;gBACpD,cAAc,GAAG,WAAW,CAAC;aAChC;iBAAM,IAAI,eAAe,GAAG,eAAe,EAAE;gBAC1C,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;gBACpD,cAAc,GAAG,WAAW,CAAC;aAChC;SACJ;QAED,oEAAoE;QACpE,sEAAsE;QACtE,kEAAkE;QAClE,sEAAsE;QACtE,kEAAkE;QAClE,aAAa;QACb,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,mCAA0B,EAAE;YAC9D,cAAc;gBACV,IAAI,CAAC,uBAAuB,CAAC,KAAK,uCAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;SACrG;QAED,IAAI,WAAW,EAAE;YACb,UAAU,GAAG,WAAW,CAAC;SAC5B;QAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IAC7E,CAAC;IAEO,+BAA+B,CACnC,SAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,aAA4B;QAE5B,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClG,CAAC;IAEO,8BAA8B,CAClC,KAAa,EACb,SAAoB,EACpB,QAA4B,EAC5B,aAA4B,EAC5B,MAAe;QAEf,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE;YACnE,OAAO;SACV;QAED,MAAM,eAAe,GAAG,GAAG,SAAS,CAAC,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;QACzF,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACpC,OAAO;SACV;QAED,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE9D,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,QAAQ,CAAC;QAClD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACzF,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE;YACrC,aAAa,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;SACrD;aAAM,IAAI,SAAS,CAAC,SAAS,EAAE;YAC5B,aAAa,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;SAC/C;QAED,8DAA8D;QAC9D,cAAc;QACd,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;gBAC/C,WAAW,EAAE,CAAC;aACjB;SACJ;QAED,MAAM,KAAK,GAAU;YACjB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE;YAC7D,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;SAC5D,CAAC;QACF,cAAc,CAAC,QAAQ,GAAG,gCAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACnE,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;QAE/B,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAEO,yBAAyB,CAAC,cAA8B,EAAE,SAAiB;;QAC/E,8DAA8D;QAC9D,IAAI,cAAc,CAAC,gBAAgB,EAAE;YACjC,OAAO,SAAS,CAAC;SACpB;QAED,2DAA2D;QAC3D,0BAA0B;QAC1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,YAAY,GACd,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7G,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,EAAE;YACf,4BAA4B;YAC5B,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAC3F,OAAO,aAAa,CAAC;SACxB;QAED,MAAM,WAAW,GAAG,MAAA,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,0CAAE,WAAW,CAAC;QACnF,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,aAAa,CAAC;SACxB;QAED,IAAI,CAAC,yBAAyB,CAC1B,WAAW,EACX,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACb,0EAA0E;YAC1E,OAAO,CACH,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,oCAAsB,EAAC,CAAC,CAAC,CAAC;gBAChE,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CACjE,CAAC;QACN,CAAC,EACD,SAAS,EACT,cAAc;QACd,gBAAgB,CAAC,IAAI;QACrB,iBAAiB,CAAC,SAAS,EAC3B,aAAa,CAChB,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC3F,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,+BAA+B,CACnC,UAAwB,EACxB,cAA8B,EAC9B,SAAiB,EACjB,aAA4B;QAE5B,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC9C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC3E,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,0CAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE;oBAC5F,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC9B,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,qBAAqB,CAAC,WAAqB,EAAE,YAAoB;QACrE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,YAAY,EAAE;gBACd,OAAO,WAAW,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aAC/D;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,mBAAmB,CAAC,aAAgC,EAAE,SAAiB,EAAE,aAA4B;QACzG,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,aAAa,CAAC,QAAQ,CAAC,SAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,IAAI,GAAG,CAAC,IAAI,EAAE;gBACV,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC;QACL,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACnD,MAAM,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;gBAC5B,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAC1B,OAAO;iBACV;gBAED,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,QAAQ,CAAC;gBAElD,MAAM,kBAAkB,GAAuB;oBAC3C,aAAa,EAAE,IAAI,CAAC,cAAc;oBAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBAC1B,CAAC;gBACF,cAAc,CAAC,IAAI,GAAG,IAAA,mBAAQ,EAAC,kBAAkB,CAAC,CAAC;gBACnD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACnF,cAAc,CAAC,UAAU,GAAG,OAAO,CAAC;gBAEpC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aACrC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,wBAAwB,CAAC,IAAkB,EAAE,KAAkB;QACnE,MAAM,YAAY,GAAG,IAAA,wCAAuB,EAAC,IAAI,CAAC,CAAC;QAEnD,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACtC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,gCAAe,CAAC,YAAY,EAAE;gBAC3E,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACjE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACnC;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,WAAW,CAAC,IAAe,EAAE,SAAiB,EAAE,aAA4B;QAChF,IAAI,OAAO,GAA0B,IAAI,CAAC;QAE1C,OAAO,OAAO,EAAE;YACZ,kDAAkD;YAClD,IAAI,KAAK,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACP,OAAO,KAAK,EAAE;oBACV,IAAI,CAAC,yBAAyB,CAC1B,KAAK,CAAC,WAAW,EACjB,GAAG,EAAE,CAAC,IAAI,EACV,SAAS,EACT,IAAI;oBACJ,gBAAgB,CAAC,KAAK;oBACtB,iBAAiB,CAAC,SAAS,EAC3B,aAAa,CAChB,CAAC;oBACF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;iBACxB;gBAED,6DAA6D;gBAC7D,IAAI,OAAO,CAAC,QAAQ,iCAAwB,EAAE;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBACzD,IAAI,SAAS,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,SAAS,CAAC,EAAE;wBACvD,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;4BACzD,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE;gCAChC,IAAI,CAAC,yBAAyB,CAC1B,SAAS,CAAC,OAAO,CAAC,MAAM,EACxB,CAAC,MAAM,EAAE,EAAE;oCACP,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE;wCACzB,OAAO,KAAK,CAAC;qCAChB;oCAED,iDAAiD;oCACjD,OAAO,MAAM;yCACR,eAAe,EAAE;yCACjB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,qCAA6B,CAAC,CAAC;gCAChE,CAAC,EACD,SAAS,EACT,IAAI;gCACJ,gBAAgB,CAAC,KAAK;gCACtB,iBAAiB,CAAC,SAAS,EAC3B,aAAa,CAChB,CAAC;6BACL;wBACL,CAAC,CAAC,CAAC;qBACN;iBACJ;gBACD,MAAM;aACT;YAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;SAC5B;IACL,CAAC;IAEO,yBAAyB,CAC7B,WAAwB,EACxB,qBAAgE,EAChE,SAAiB,EACjB,IAAe,EACf,UAAmB,EACnB,kBAAyC,EACzC,aAA4B;QAE5B,MAAM,oBAAoB,GACtB,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC;YAC9C,cAAc,CAAC,sBAAsB,CAAC,IAAI,EAAE,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACrF,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,oDAAoD;YACpD,oDAAoD;YACpD,kDAAkD;YAClD,MAAM,MAAM,GACR,CAAC,IAAA,iCAAmB,EAAC,MAAM,CAAC;gBAC5B,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAe,EAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAChD,8DAA8D;gBAC9D,4CAA4C;gBAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC1B,+FAA+F;oBAC/F,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACvE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE;wBACnD,kBAAkB;wBAClB,kBAAkB,EAAE,UAAU,IAAI,oBAAoB,IAAI,YAAY;wBACtE,gBAAgB,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS;qBAC/C,CAAC,CAAC;iBACN;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,6BAA6B,CAAC,MAAc,EAAE,IAAe;;QACjE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,kCAA0B,CAAC,EAAE;YACzE,4CAA4C;YAC5C,OAAO,IAAI,CAAC;SACf;QAED,uEAAuE;QACvE,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,oCAA2B,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,kCAAwB,EAAE;YAC1G,OAAO,IAAI,CAAC;SACf;QAED,sEAAsE;QACtE,MAAM,SAAS,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3G,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtG,OAAO,CACH,SAAS;YACT,SAAS,CAAC,IAAI,+BAAuB;YACpC,SAA2B,CAAC,YAAY,gCAAwB,CACpE,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,UAAkB,EAAE,UAAmB,EAAE,WAAoB;QACpF,MAAM,cAAc,GAAG,IAAA,gCAAiB,EAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAE9E,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE;YAC7C,UAAU,GAAG,WAAW,cAAc,UAAU,CAAC;SACpD;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE;YACrD,UAAU,GAAG,cAAc,CAAC;SAC/B;aAAM;YACH,IAAA,YAAI,EAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3D;QAED,OAAO;YACH,MAAM,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YACxB,UAAU;SACb,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,IAAY,EAAE,cAAsB;QAC5D,OAAO,kBAAkB,CAAC,sBAAsB,CAAC,SAAS,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,cAAc,CAC1E,CAAC;IACN,CAAC;IAEO,aAAa,CAAC,YAA0B,EAAE,IAAY,EAAE,cAAc,GAAG,EAAE;QAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEvE,0DAA0D;QAC1D,oCAAoC;QACpC,IAAI,eAAe,IAAI,CAAC,EAAE;YACtB,IAAI,YAAY,KAAK,YAAY,CAAC,UAAU,EAAE;gBAC1C,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC;aAChD;iBAAM,IAAI,YAAY,KAAK,YAAY,CAAC,gBAAgB,EAAE;gBACvD,YAAY,GAAG,YAAY,CAAC,sBAAsB,CAAC;aACtD;iBAAM,IACH,YAAY,KAAK,YAAY,CAAC,OAAO;gBACrC,YAAY,KAAK,YAAY,CAAC,YAAY;gBAC1C,YAAY,KAAK,YAAY,CAAC,aAAa;gBAC3C,YAAY,KAAK,YAAY,CAAC,YAAY,EAC5C;gBACE,YAAY,GAAG,YAAY,CAAC,qBAAqB,CAAC;aACrD;SACJ;QAED,uCAAuC;QACvC,kBAAkB;QAClB,gCAAgC;QAChC,oDAAoD;QACpD,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IAC7G,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,MAAc;QAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7B,0BAA0B;YAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,KAAK,GAAG,CAAC,CAAC;aACb;YACD,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,MAAM,CAAC;YAC5D,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;SAC9B;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,iCAAiC,CAAC,WAAwB;QAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9G,IAAI,CAAC,mBAAmB,EAAE;YACtB,OAAO,0CAAkB,CAAC,QAAQ,CAAC;SACtC;QAED,QAAQ,mBAAmB,CAAC,IAAI,EAAE;YAC9B;gBACI,OAAO,mBAAmB,CAAC,aAAa,KAAK,OAAO;oBAChD,CAAC,CAAC,0CAAkB,CAAC,KAAK;oBAC1B,CAAC,CAAC,0CAAkB,CAAC,QAAQ,CAAC;YAEtC;gBACI,OAAO,0CAAkB,CAAC,QAAQ,CAAC;YAEvC;gBACI,OAAO,0CAAkB,CAAC,aAAa,CAAC;YAE5C;gBACI,OAAO,mBAAmB,CAAC,UAAU,IAAI,mBAAmB,CAAC,OAAO;oBAChE,CAAC,CAAC,0CAAkB,CAAC,QAAQ;oBAC7B,CAAC,CAAC,0CAAkB,CAAC,QAAQ,CAAC;YAEtC;gBACI,OAAO,0CAAkB,CAAC,QAAQ,CAAC;YAEvC,qCAA6B,CAAC,CAAC;gBAC3B,IAAI,IAAI,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,EAAE;oBAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAChF,IACI,YAAY;wBACZ,IAAA,qCAAyB,EAAC,YAAY,CAAC,aAAa,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAClF;wBACE,OAAO,0CAAkB,CAAC,QAAQ,CAAC;qBACtC;iBACJ;gBACD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,0CAAkB,CAAC,QAAQ,CAAC;aACjG;YAED,mCAA2B;YAC3B;gBACI,OAAO,0CAAkB,CAAC,KAAK,CAAC;YAEpC;gBACI,OAAO,0CAAkB,CAAC,MAAM,CAAC;SACxC;IACL,CAAC;IAEO,sBAAsB,CAAC,IAAU;QACrC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB;gBACI,OAAO,0CAAkB,CAAC,MAAM,CAAC;YACrC;gBACI,OAAO,0CAAkB,CAAC,KAAK,CAAC;YACpC,mCAA2B;YAC3B;gBACI,IAAI,IAAA,qCAAyB,EAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE;oBAC5D,OAAO,0CAAkB,CAAC,QAAQ,CAAC;iBACtC;gBAED,OAAO,0CAAkB,CAAC,QAAQ,CAAC;YACvC;gBACI,OAAO,0CAAkB,CAAC,aAAa,CAAC;YAE5C;gBACI,OAAO,0CAAkB,CAAC,QAAQ,CAAC;SAC1C;IACL,CAAC;IAEO,2BAA2B,CAAC,IAAoB;QACpD,MAAM,gBAAgB,GAA6B;YAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;YAC5C,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACnD,eAAe,EAAE,IAAI,GAAG,EAAU;SACrC,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAEhH,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAE1C,iEAAiE;QACjE,wCAAwC;QACxC,IACI,CAAC,IAAI,CAAC,cAAc;YACpB,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,QAAQ,sCAA6B;YACjD,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAClC;YACE,MAAM,OAAO,GAAG,QAAQ,CAAC;YACzB,MAAM,cAAc,GAAG,sCAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,cAAc,CAAC,IAAI,GAAG,0CAAkB,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5E,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACrC;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE;YAC/C,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,0CAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE;gBACpF,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC;gBAC3E,UAAU;aACb,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,8BAA8B,CAAC,IAAyB;QAC5D,8DAA8D;QAC9D,+CAA+C;QAC/C,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,CAAC;;AA7yFL,gDA8yFC;AA7yFkB,yCAAsB,GAA2B,EAAE,AAA7B,CAA8B;AA+yFvE,MAAa,aAAa;IAA1B;QACY,iBAAY,GAAmD,IAAI,GAAG,EAAE,CAAC;IA8FrF,CAAC;IA5FG,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,KAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE;YACX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC7C;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;aAAM;YACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;SACzD;IACL,CAAC;IAED,GAAG,CAAC,GAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CACC,KAAa,EACb,SAIY,EACZ,IAAyB,EACzB,aAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,SAAS,EAAE;YACX,OAAO,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;;QACH,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,sBAAsB,CACzB,qBAAwD,EACxD,IAAyB,EACzB,cAAuB;;QAEvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACvC,OAAO,CACH,qBAAqB,CAAC,IAAI,KAAK,IAAI;gBACnC,CAAA,MAAA,kBAAkB,CAAC,qBAAqB,CAAC,0CAAE,cAAc,MAAK,cAAc,CAC/E,CAAC;SACL;aAAM;YACH,OAAO,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAA,MAAA,kBAAkB,CAAC,CAAC,CAAC,0CAAE,cAAc,MAAK,cAAc,CAAA,EAAA,CACrF,CAAC;SACL;IACL,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,qBAAwD;;QACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACvC,IAAI,CAAC,CAAA,MAAA,kBAAkB,CAAC,qBAAqB,CAAC,0CAAE,cAAc,CAAA,EAAE;gBAC5D,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,CAAA,MAAA,kBAAkB,CAAC,CAAC,CAAC,0CAAE,cAAc,CAAA,CAAA,EAAA,CAAC,EAAE;gBAC3E,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA/FD,sCA+FC;AAED,SAAS,kBAAkB,CAAC,cAA8B;IACtD,OAAO,IAAA,qBAAU,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC"}
|
1
|
+
{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../../src/languageService/completionProvider.ts"],"names":[],"mappings":"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"}
|
@@ -4,6 +4,7 @@ import { TypeEvaluator } from '../analyzer/typeEvaluatorTypes';
|
|
4
4
|
import { ClassType, Type } from '../analyzer/types';
|
5
5
|
import { SignatureDisplayType } from '../common/configOptions';
|
6
6
|
import { TextEditAction } from '../common/editAction';
|
7
|
+
import { Uri } from '../common/uri/uri';
|
7
8
|
export interface Edits {
|
8
9
|
format?: InsertTextFormat;
|
9
10
|
textEdit?: TextEdit;
|
@@ -28,7 +29,7 @@ export interface CompletionDetail extends CommonDetail {
|
|
28
29
|
};
|
29
30
|
sortText?: string;
|
30
31
|
itemDetail?: string;
|
31
|
-
|
32
|
+
moduleUri?: Uri;
|
32
33
|
}
|
33
34
|
export declare function getTypeDetail(evaluator: TypeEvaluator, type: Type, primaryDecl: Declaration | undefined, name: string, detail: SymbolDetail | undefined, functionSignatureDisplay: SignatureDisplayType): string | undefined;
|
34
35
|
export declare function getCompletionItemDocumentation(typeDetail: string | undefined, documentation: string | undefined, markupKind: MarkupKind): MarkupContent | undefined;
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.getCompletionItemDocumentation = exports.getTypeDetail = void 0;
|
11
11
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
12
12
|
const docStringConversion_1 = require("../analyzer/docStringConversion");
|
13
|
-
const types_1 = require("../analyzer/types");
|
14
13
|
const typeUtils_1 = require("../analyzer/typeUtils");
|
14
|
+
const types_1 = require("../analyzer/types");
|
15
15
|
const tooltipUtils_1 = require("./tooltipUtils");
|
16
16
|
function getTypeDetail(evaluator, type, primaryDecl, name, detail, functionSignatureDisplay) {
|
17
17
|
if (!primaryDecl) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"completionProviderUtils.js","sourceRoot":"","sources":["../../../src/languageService/completionProviderUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,6EAAoG;AAGpG,yEAA0G;AAE1G,
|
1
|
+
{"version":3,"file":"completionProviderUtils.js","sourceRoot":"","sources":["../../../src/languageService/completionProviderUtils.ts"],"names":[],"mappings":"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"}
|