@zzzen/pyright-internal 1.2.0-dev.20231008 → 1.2.0-dev.20231022
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/checker.js +33 -37
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +2 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +262 -168
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructors.js +3 -4
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/decorators.js +3 -1
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/patternMatching.js +4 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +7 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.d.ts +2 -2
- package/dist/analyzer/properties.js +10 -4
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +119 -174
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.js +13 -13
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +3 -2
- package/dist/analyzer/sourceFile.js +31 -11
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfo.d.ts +4 -4
- package/dist/analyzer/sourceFileInfo.js +2 -0
- package/dist/analyzer/sourceFileInfo.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +2 -1
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +138 -123
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -3
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +101 -33
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +4 -1
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +13 -2
- package/dist/analyzer/typeUtils.js +130 -51
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +4 -1
- package/dist/analyzer/typeVarContext.js +7 -2
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +99 -27
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +6 -2
- package/dist/analyzer/types.js +49 -17
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundThreadBase.js +5 -1
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/common/configOptions.d.ts +2 -1
- package/dist/common/configOptions.js +9 -5
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/extensibility.d.ts +0 -2
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +9 -4
- package/dist/common/fileSystem.js +8 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/pathUtils.d.ts +8 -5
- package/dist/common/pathUtils.js +90 -33
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -1
- package/dist/common/realFileSystem.js +35 -22
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +3 -4
- package/dist/common/serviceProviderExtensions.js +3 -6
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/uriParser.d.ts +10 -1
- package/dist/common/uriParser.js.map +1 -1
- package/dist/languageServerBase.d.ts +4 -4
- package/dist/languageServerBase.js +3 -17
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +1 -1
- package/dist/languageService/completionProvider.d.ts +2 -2
- package/dist/languageService/completionProvider.js +20 -23
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +6 -2
- package/dist/languageService/hoverProvider.js +33 -65
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +1 -1
- package/dist/languageService/navigationUtils.js +2 -2
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +9 -2
- package/dist/languageService/referencesProvider.js +19 -12
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +1 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -3
- package/dist/localization/localize.js +1 -1
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +7 -1
- package/dist/localization/package.nls.de.json +7 -1
- package/dist/localization/package.nls.en-us.json +1 -1
- package/dist/localization/package.nls.es.json +7 -1
- package/dist/localization/package.nls.fr.json +7 -1
- package/dist/localization/package.nls.it.json +7 -1
- package/dist/localization/package.nls.ja.json +7 -1
- package/dist/localization/package.nls.ko.json +7 -1
- package/dist/localization/package.nls.pl.json +7 -1
- package/dist/localization/package.nls.pt-br.json +7 -1
- package/dist/localization/package.nls.qps-ploc.json +7 -1
- package/dist/localization/package.nls.ru.json +7 -1
- package/dist/localization/package.nls.tr.json +7 -1
- package/dist/localization/package.nls.zh-cn.json +7 -1
- package/dist/localization/package.nls.zh-tw.json +7 -1
- package/dist/pyright.js +2 -1
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +1 -16
- package/dist/pyrightFileSystem.js +1 -60
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +1 -4
- package/dist/readonlyAugmentedFileSystem.js +0 -10
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/config.test.js +5 -3
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js +56 -10
- package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +5 -2
- package/dist/tests/harness/fourslash/testState.js +13 -14
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +2 -2
- package/dist/tests/harness/vfs/filesystem.js +4 -0
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +10 -1
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +0 -9
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +2 -2
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +0 -20
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +14 -2
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +10 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +7 -1
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/package.json +1 -1
@@ -53,7 +53,7 @@ export interface TypeResult<T extends Type = Type> {
|
|
53
53
|
typeList?: TypeResultWithNode[] | undefined;
|
54
54
|
inlinedTypeDict?: ClassType;
|
55
55
|
typeErrors?: boolean | undefined;
|
56
|
-
classType?: ClassType | UnknownType;
|
56
|
+
classType?: ClassType | UnknownType | AnyType;
|
57
57
|
isEmptyTupleShorthand?: boolean | undefined;
|
58
58
|
expectedTypeDiagAddendum?: DiagnosticAddendum | undefined;
|
59
59
|
isAsymmetricAccessor?: boolean;
|
@@ -186,8 +186,9 @@ export interface ClassMemberLookup {
|
|
186
186
|
symbol: Symbol | undefined;
|
187
187
|
type: Type;
|
188
188
|
isTypeIncomplete: boolean;
|
189
|
+
isSetTypeError: boolean;
|
189
190
|
isClassMember: boolean;
|
190
|
-
classType?: ClassType | UnknownType;
|
191
|
+
classType?: ClassType | UnknownType | AnyType;
|
191
192
|
isClassVar: boolean;
|
192
193
|
isAsymmetricAccessor: boolean;
|
193
194
|
memberAccessDeprecationInfo?: MemberAccessDeprecationInfo;
|
@@ -288,7 +289,7 @@ export interface TypeEvaluator {
|
|
288
289
|
getTypeOfClassMemberName: (errorNode: ExpressionNode, classType: ClassType, isAccessedThroughObject: boolean, memberName: string, usage: EvaluatorUsage, diag: DiagnosticAddendum | undefined, flags: MemberAccessFlags, bindToType?: ClassType | TypeVarType) => ClassMemberLookup | undefined;
|
289
290
|
getBoundMethod: (classType: ClassType, memberName: string, recursionCount?: number, treatConstructorAsClassMember?: boolean) => FunctionType | OverloadedFunctionType | undefined;
|
290
291
|
getTypeOfMagicMethodReturn: (objType: Type, args: TypeResult[], magicMethodName: string, errorNode: ExpressionNode, inferenceContext: InferenceContext | undefined) => Type | undefined;
|
291
|
-
bindFunctionToClassOrObject: (baseType: ClassType | undefined, memberType: FunctionType | OverloadedFunctionType, memberClass?: ClassType,
|
292
|
+
bindFunctionToClassOrObject: (baseType: ClassType | undefined, memberType: FunctionType | OverloadedFunctionType, memberClass?: ClassType, treatConstructorAsClassMember?: boolean, firstParamType?: ClassType | TypeVarType, diag?: DiagnosticAddendum, recursionCount?: number) => FunctionType | OverloadedFunctionType | undefined;
|
292
293
|
getCallSignatureInfo: (node: CallNode, activeIndex: number, activeOrFake: boolean) => CallSignatureInfo | undefined;
|
293
294
|
getAbstractMethods: (classType: ClassType) => AbstractMethod[];
|
294
295
|
narrowConstrainedTypeVar: (node: ParseNode, typeVar: TypeVarType) => Type | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA8CH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,IAAkB,cAkGjB;AAlGD,WAAkB,cAAc;IAC5B,mDAAQ,CAAA;IAER,uDAAuD;IACvD,mFAA6B,CAAA;IAE7B,0DAA0D;IAC1D,gEAAgE;IAChE,SAAS;IACT,yEAAwB,CAAA;IAExB,yDAAyD;IACzD,uFAA+B,CAAA;IAE/B,kCAAkC;IAClC,iGAAoC,CAAA;IAEpC,0CAA0C;IAC1C,sEAAsB,CAAA;IAEtB,6CAA6C;IAC7C,8EAA0B,CAAA;IAE1B,gDAAgD;IAChD,oFAA6B,CAAA;IAE7B,2DAA2D;IAC3D,4BAA4B;IAC5B,+FAAkC,CAAA;IAElC,gEAAgE;IAChE,6DAA6D;IAC7D,qBAAqB;IACrB,2FAAgC,CAAA;IAEhC,qEAAqE;IACrE,qFAA6B,CAAA;IAE7B,2DAA2D;IAC3D,gDAAgD;IAChD,wFAA+B,CAAA;IAE/B,8DAA8D;IAC9D,0BAA0B;IAC1B,oGAAqC,CAAA;IAErC,oEAAoE;IACpE,0BAA0B;IAC1B,oGAAqC,CAAA;IAErC,yDAAyD;IACzD,2DAA2D;IAC3D,mCAAmC;IACnC,gHAA2C,CAAA;IAE3C,yDAAyD;IACzD,6DAA6D;IAC7D,uDAAuD;IACvD,iHAA2C,CAAA;IAE3C,mDAAmD;IACnD,2FAAgC,CAAA;IAEhC,6CAA6C;IAC7C,gFAA0B,CAAA;IAE1B,mEAAmE;IACnE,wFAA8B,CAAA;IAE9B,iEAAiE;IACjE,iCAAiC;IACjC,4FAAgC,CAAA;IAEhC,wDAAwD;IACxD,2EAAuB,CAAA;IAEvB,uDAAuD;IACvD,iHAA0C,CAAA;IAE1C,6DAA6D;IAC7D,2DAA2D;IAC3D,oDAAoD;IACpD,6GAAwC,CAAA;IAExC,yCAAyC;IACzC,6FAAgC,CAAA;IAEhC,yDAAyD;IACzD,gGAAiC,CAAA;IAEjC,6DAA6D;IAC7D,kFAA4D,CAAA;IAE5D,sEAAsE;IACtE,6EAAmC,CAAA;IAEnC,sEAAsE;IACtE,kGAAoE,CAAA;AACxE,CAAC,EAlGiB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAkG/B;
|
1
|
+
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA8CH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,IAAkB,cAkGjB;AAlGD,WAAkB,cAAc;IAC5B,mDAAQ,CAAA;IAER,uDAAuD;IACvD,mFAA6B,CAAA;IAE7B,0DAA0D;IAC1D,gEAAgE;IAChE,SAAS;IACT,yEAAwB,CAAA;IAExB,yDAAyD;IACzD,uFAA+B,CAAA;IAE/B,kCAAkC;IAClC,iGAAoC,CAAA;IAEpC,0CAA0C;IAC1C,sEAAsB,CAAA;IAEtB,6CAA6C;IAC7C,8EAA0B,CAAA;IAE1B,gDAAgD;IAChD,oFAA6B,CAAA;IAE7B,2DAA2D;IAC3D,4BAA4B;IAC5B,+FAAkC,CAAA;IAElC,gEAAgE;IAChE,6DAA6D;IAC7D,qBAAqB;IACrB,2FAAgC,CAAA;IAEhC,qEAAqE;IACrE,qFAA6B,CAAA;IAE7B,2DAA2D;IAC3D,gDAAgD;IAChD,wFAA+B,CAAA;IAE/B,8DAA8D;IAC9D,0BAA0B;IAC1B,oGAAqC,CAAA;IAErC,oEAAoE;IACpE,0BAA0B;IAC1B,oGAAqC,CAAA;IAErC,yDAAyD;IACzD,2DAA2D;IAC3D,mCAAmC;IACnC,gHAA2C,CAAA;IAE3C,yDAAyD;IACzD,6DAA6D;IAC7D,uDAAuD;IACvD,iHAA2C,CAAA;IAE3C,mDAAmD;IACnD,2FAAgC,CAAA;IAEhC,6CAA6C;IAC7C,gFAA0B,CAAA;IAE1B,mEAAmE;IACnE,wFAA8B,CAAA;IAE9B,iEAAiE;IACjE,iCAAiC;IACjC,4FAAgC,CAAA;IAEhC,wDAAwD;IACxD,2EAAuB,CAAA;IAEvB,uDAAuD;IACvD,iHAA0C,CAAA;IAE1C,6DAA6D;IAC7D,2DAA2D;IAC3D,oDAAoD;IACpD,6GAAwC,CAAA;IAExC,yCAAyC;IACzC,6FAAgC,CAAA;IAEhC,yDAAyD;IACzD,gGAAiC,CAAA;IAEjC,6DAA6D;IAC7D,kFAA4D,CAAA;IAE5D,sEAAsE;IACtE,6EAAmC,CAAA;IAEnC,sEAAsE;IACtE,kGAAoE,CAAA;AACxE,CAAC,EAlGiB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAkG/B;AA+QD,IAAkB,iBA2CjB;AA3CD,WAAkB,iBAAiB;IAC/B,yDAAQ,CAAA;IAER,mEAAmE;IACnE,gEAAgE;IAChE,4BAA4B;IAC5B,6FAA+B,CAAA;IAE/B,4DAA4D;IAC5D,iBAAiB;IACjB,mGAAkC,CAAA;IAElC,yDAAyD;IACzD,+DAA+D;IAC/D,+EAAwB,CAAA;IAExB,wDAAwD;IACxD,uFAA4B,CAAA;IAE5B,+DAA+D;IAC/D,8FAA+B,CAAA;IAE/B,2DAA2D;IAC3D,0DAA0D;IAC1D,oCAAoC;IACpC,4GAAsC,CAAA;IAEtC,+DAA+D;IAC/D,gEAAgE;IAChE,yBAAyB;IACzB,4FAA8B,CAAA;IAE9B,4DAA4D;IAC5D,wDAAwD;IACxD,8DAA8D;IAC9D,4BAA4B;IAC5B,yGAAoC,CAAA;IAEpC,sDAAsD;IACtD,qFAA0B,CAAA;IAE1B,sDAAsD;IACtD,qFAA0B,CAAA;AAC9B,CAAC,EA3CiB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA2ClC"}
|
@@ -255,20 +255,22 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
255
255
|
// Look for len(x) == <literal> or len(x) != <literal>
|
256
256
|
if (equalsOrNotEqualsOperator &&
|
257
257
|
testExpression.leftExpression.nodeType === 9 /* Call */ &&
|
258
|
-
testExpression.leftExpression.arguments.length === 1
|
259
|
-
testExpression.rightExpression.nodeType === 40 /* Number */ &&
|
260
|
-
testExpression.rightExpression.isInteger) {
|
258
|
+
testExpression.leftExpression.arguments.length === 1) {
|
261
259
|
const arg0Expr = testExpression.leftExpression.arguments[0].valueExpression;
|
262
260
|
if (ParseTreeUtils.isMatchingExpression(reference, arg0Expr)) {
|
263
261
|
const callTypeResult = evaluator.getTypeOfExpression(testExpression.leftExpression.leftExpression, 16777218 /* CallBaseDefaults */);
|
264
262
|
const callType = callTypeResult.type;
|
265
263
|
if ((0, types_1.isFunction)(callType) && callType.details.fullName === 'builtins.len') {
|
266
|
-
const
|
267
|
-
|
264
|
+
const rightTypeResult = evaluator.getTypeOfExpression(testExpression.rightExpression);
|
265
|
+
const rightType = rightTypeResult.type;
|
266
|
+
if ((0, types_1.isClassInstance)(rightType) &&
|
267
|
+
typeof rightType.literalValue === 'number' &&
|
268
|
+
rightType.literalValue >= 0) {
|
269
|
+
const tupleLength = rightType.literalValue;
|
268
270
|
return (type) => {
|
269
271
|
return {
|
270
272
|
type: narrowTypeForTupleLength(evaluator, type, tupleLength, adjIsPositiveTest),
|
271
|
-
isIncomplete: !!callTypeResult.isIncomplete,
|
273
|
+
isIncomplete: !!callTypeResult.isIncomplete || !!rightTypeResult.isIncomplete,
|
272
274
|
};
|
273
275
|
};
|
274
276
|
}
|
@@ -910,8 +912,16 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
910
912
|
let foundSuperclass = false;
|
911
913
|
let isClassRelationshipIndeterminate = false;
|
912
914
|
for (const filterType of classTypeList) {
|
913
|
-
|
915
|
+
let concreteFilterType = evaluator.makeTopLevelTypeVarsConcrete(filterType);
|
914
916
|
if ((0, types_1.isInstantiableClass)(concreteFilterType)) {
|
917
|
+
// If the class was implicitly specialized (e.g. because its type
|
918
|
+
// parameters have default values), replace the default type arguments
|
919
|
+
// with Unknown.
|
920
|
+
if (concreteFilterType.typeArguments && !concreteFilterType.isTypeArgumentExplicit) {
|
921
|
+
concreteFilterType = (0, typeUtils_1.specializeWithUnknown)(types_1.ClassType.cloneForSpecialization(concreteFilterType,
|
922
|
+
/* typeArguments */ undefined,
|
923
|
+
/* isTypeArgumentExplicit */ false));
|
924
|
+
}
|
915
925
|
const filterIsSuperclass = isIsinstanceFilterSuperclass(evaluator, varType, concreteVarType, filterType, concreteFilterType, isInstanceCheck);
|
916
926
|
const filterIsSubclass = isIsinstanceFilterSubclass(evaluator, concreteVarType, concreteFilterType, isInstanceCheck);
|
917
927
|
if (filterIsSuperclass) {
|
@@ -934,7 +944,7 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
934
944
|
filteredTypes.push((0, typeUtils_1.addConditionToType)(concreteVarType, conditions));
|
935
945
|
}
|
936
946
|
else if (filterIsSubclass) {
|
937
|
-
if (evaluator.assignType(concreteVarType,
|
947
|
+
if (evaluator.assignType(concreteVarType, concreteFilterType,
|
938
948
|
/* diag */ undefined,
|
939
949
|
/* destTypeVarContext */ undefined,
|
940
950
|
/* srcTypeVarContext */ undefined, 512 /* IgnoreTypeVarScope */ | 4096 /* IgnoreProtocolAssignmentCheck */)) {
|
@@ -1097,6 +1107,53 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
1097
1107
|
}
|
1098
1108
|
return filteredTypes.map((t) => (0, typeUtils_1.convertToInstance)(t));
|
1099
1109
|
};
|
1110
|
+
// Filters the metaclassType (which is assumed to be a metaclass instance)
|
1111
|
+
// by the classTypeList and returns the list of types the varType could be
|
1112
|
+
// after applying the filter.
|
1113
|
+
const filterMetaclassType = (metaclassType, negativeFallbackType) => {
|
1114
|
+
const filteredTypes = [];
|
1115
|
+
let foundPositiveMatch = false;
|
1116
|
+
let isMatchIndeterminate = false;
|
1117
|
+
for (const filterType of classTypeList) {
|
1118
|
+
const concreteFilterType = evaluator.makeTopLevelTypeVarsConcrete(filterType);
|
1119
|
+
if ((0, types_1.isInstantiableClass)(concreteFilterType)) {
|
1120
|
+
const filterMetaclass = concreteFilterType.details.effectiveMetaclass;
|
1121
|
+
if (filterMetaclass && (0, types_1.isInstantiableClass)(filterMetaclass)) {
|
1122
|
+
const isMetaclassOverlap = evaluator.assignType(metaclassType, types_1.ClassType.cloneAsInstance(filterMetaclass));
|
1123
|
+
if (isMetaclassOverlap) {
|
1124
|
+
if (isPositiveTest) {
|
1125
|
+
filteredTypes.push(filterType);
|
1126
|
+
foundPositiveMatch = true;
|
1127
|
+
}
|
1128
|
+
else if (!(0, types_1.isTypeSame)(metaclassType, filterMetaclass) || filterMetaclass.includeSubclasses) {
|
1129
|
+
filteredTypes.push(metaclassType);
|
1130
|
+
isMatchIndeterminate = true;
|
1131
|
+
}
|
1132
|
+
}
|
1133
|
+
}
|
1134
|
+
else {
|
1135
|
+
filteredTypes.push(metaclassType);
|
1136
|
+
isMatchIndeterminate = true;
|
1137
|
+
}
|
1138
|
+
}
|
1139
|
+
else {
|
1140
|
+
filteredTypes.push(metaclassType);
|
1141
|
+
isMatchIndeterminate = true;
|
1142
|
+
}
|
1143
|
+
}
|
1144
|
+
// In the negative case, if one or more of the filters
|
1145
|
+
// always match the type in the positive case, then there's nothing
|
1146
|
+
// left after the filter is applied.
|
1147
|
+
if (!isPositiveTest) {
|
1148
|
+
if (!foundPositiveMatch || isMatchIndeterminate) {
|
1149
|
+
filteredTypes.push(negativeFallbackType);
|
1150
|
+
}
|
1151
|
+
}
|
1152
|
+
// We perform a double conversion from instance to instantiable
|
1153
|
+
// here to make sure that the includeSubclasses flag is cleared
|
1154
|
+
// if it's a class.
|
1155
|
+
return filteredTypes.map((t) => ((0, types_1.isInstantiableClass)(t) ? (0, typeUtils_1.convertToInstantiable)((0, typeUtils_1.convertToInstance)(t)) : t));
|
1156
|
+
};
|
1100
1157
|
const filterFunctionType = (varType, unexpandedType) => {
|
1101
1158
|
const filteredTypes = [];
|
1102
1159
|
if (isPositiveTest) {
|
@@ -1130,6 +1187,12 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
1130
1187
|
}
|
1131
1188
|
return filteredTypes;
|
1132
1189
|
};
|
1190
|
+
const classListContainsNoneType = () => classTypeList.some((t) => {
|
1191
|
+
if ((0, types_1.isNoneTypeClass)(t)) {
|
1192
|
+
return true;
|
1193
|
+
}
|
1194
|
+
return (0, types_1.isInstantiableClass)(t) && types_1.ClassType.isBuiltIn(t, 'NoneType');
|
1195
|
+
});
|
1133
1196
|
const anyOrUnknownSubstitutions = [];
|
1134
1197
|
const anyOrUnknown = [];
|
1135
1198
|
const filteredType = evaluator.mapSubtypesExpandTypeVars(expandedTypes,
|
@@ -1140,7 +1203,7 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
1140
1203
|
// on a constrained TypeVar that they want to filter based on its constrained
|
1141
1204
|
// parts.
|
1142
1205
|
const negativeFallback = (0, typeUtils_1.getTypeCondition)(subtype) ? subtype : unexpandedSubtype;
|
1143
|
-
const
|
1206
|
+
const isSubtypeMetaclass = (0, typeUtils_1.isMetaclassInstance)(subtype);
|
1144
1207
|
if (isPositiveTest && (0, types_1.isAnyOrUnknown)(subtype)) {
|
1145
1208
|
// If this is a positive test and the effective type is Any or
|
1146
1209
|
// Unknown, we can assume that the type matches one of the
|
@@ -1159,18 +1222,7 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
1159
1222
|
}
|
1160
1223
|
if (isInstanceCheck) {
|
1161
1224
|
if ((0, types_1.isNoneInstance)(subtype)) {
|
1162
|
-
|
1163
|
-
if ((0, types_1.isNoneTypeClass)(t)) {
|
1164
|
-
return true;
|
1165
|
-
}
|
1166
|
-
return (0, types_1.isInstantiableClass)(t) && types_1.ClassType.isBuiltIn(t, 'NoneType');
|
1167
|
-
});
|
1168
|
-
if (isPositiveTest) {
|
1169
|
-
return containsNoneType ? subtype : undefined;
|
1170
|
-
}
|
1171
|
-
else {
|
1172
|
-
return containsNoneType ? undefined : subtype;
|
1173
|
-
}
|
1225
|
+
return classListContainsNoneType() === isPositiveTest ? subtype : undefined;
|
1174
1226
|
}
|
1175
1227
|
if ((0, types_1.isModule)(subtype) || ((0, types_1.isClassInstance)(subtype) && types_1.ClassType.isBuiltIn(subtype, 'ModuleType'))) {
|
1176
1228
|
// Handle type narrowing for runtime-checkable protocols
|
@@ -1185,28 +1237,36 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
1185
1237
|
}
|
1186
1238
|
}
|
1187
1239
|
}
|
1188
|
-
if ((0, types_1.isClassInstance)(subtype) && !
|
1240
|
+
if ((0, types_1.isClassInstance)(subtype) && !isSubtypeMetaclass) {
|
1189
1241
|
return (0, types_1.combineTypes)(filterClassType((0, typeUtils_1.convertToInstance)(unexpandedSubtype), types_1.ClassType.cloneAsInstantiable(subtype), (0, typeUtils_1.getTypeCondition)(subtype), negativeFallback));
|
1190
1242
|
}
|
1191
1243
|
if (((0, types_1.isFunction)(subtype) || (0, types_1.isOverloadedFunction)(subtype)) && isInstanceCheck) {
|
1192
1244
|
return (0, types_1.combineTypes)(filterFunctionType(subtype, (0, typeUtils_1.convertToInstance)(unexpandedSubtype)));
|
1193
1245
|
}
|
1194
|
-
if ((0, types_1.isInstantiableClass)(subtype) ||
|
1195
|
-
// Handle the special case of isinstance(x,
|
1196
|
-
const
|
1246
|
+
if ((0, types_1.isInstantiableClass)(subtype) || isSubtypeMetaclass) {
|
1247
|
+
// Handle the special case of isinstance(x, metaclass).
|
1248
|
+
const includesMetaclassType = classTypeList.some((classType) => (0, typeUtils_1.isInstantiableMetaclass)(classType));
|
1197
1249
|
if (isPositiveTest) {
|
1198
|
-
return
|
1250
|
+
return includesMetaclassType ? negativeFallback : undefined;
|
1199
1251
|
}
|
1200
1252
|
else {
|
1201
|
-
return
|
1253
|
+
return includesMetaclassType ? undefined : negativeFallback;
|
1202
1254
|
}
|
1203
1255
|
}
|
1204
1256
|
}
|
1205
1257
|
else {
|
1206
|
-
if ((0, types_1.
|
1207
|
-
return (
|
1258
|
+
if ((0, types_1.isNoneTypeClass)(subtype)) {
|
1259
|
+
return classListContainsNoneType() === isPositiveTest ? subtype : undefined;
|
1208
1260
|
}
|
1209
|
-
if (
|
1261
|
+
if ((0, types_1.isClass)(subtype)) {
|
1262
|
+
if ((0, types_1.isInstantiableClass)(subtype)) {
|
1263
|
+
return (0, types_1.combineTypes)(filterClassType(unexpandedSubtype, subtype, (0, typeUtils_1.getTypeCondition)(subtype), negativeFallback));
|
1264
|
+
}
|
1265
|
+
else if ((0, typeUtils_1.isMetaclassInstance)(subtype)) {
|
1266
|
+
return (0, types_1.combineTypes)(filterMetaclassType(subtype, negativeFallback));
|
1267
|
+
}
|
1268
|
+
}
|
1269
|
+
if (isSubtypeMetaclass) {
|
1210
1270
|
const objectType = evaluator.getBuiltInObject(errorNode, 'object');
|
1211
1271
|
if (objectType && (0, types_1.isClassInstance)(objectType)) {
|
1212
1272
|
return (0, types_1.combineTypes)(filterClassType((0, typeUtils_1.convertToInstantiable)(unexpandedSubtype), types_1.ClassType.cloneAsInstantiable(objectType), (0, typeUtils_1.getTypeCondition)(subtype), negativeFallback));
|
@@ -1578,9 +1638,11 @@ function narrowTypeForTypeIs(evaluator, type, classType, isPositiveTest) {
|
|
1578
1638
|
}
|
1579
1639
|
return (0, typeUtils_1.addConditionToType)(types_1.ClassType.cloneAsInstance(classType), subtype.condition);
|
1580
1640
|
}
|
1581
|
-
|
1641
|
+
if (!classType.includeSubclasses) {
|
1642
|
+
return undefined;
|
1643
|
+
}
|
1582
1644
|
}
|
1583
|
-
else {
|
1645
|
+
else if (!classType.includeSubclasses) {
|
1584
1646
|
// If the class if marked final and it matches, then
|
1585
1647
|
// we can eliminate it in the negative case.
|
1586
1648
|
if (matches && types_1.ClassType.isFinal(subtype)) {
|
@@ -1640,7 +1702,13 @@ function narrowTypeForClassComparison(evaluator, referenceType, classType, isPos
|
|
1640
1702
|
function narrowTypeForLiteralComparison(evaluator, referenceType, literalType, isPositiveTest, isIsOperator) {
|
1641
1703
|
return (0, typeUtils_1.mapSubtypes)(referenceType, (subtype) => {
|
1642
1704
|
subtype = evaluator.makeTopLevelTypeVarsConcrete(subtype);
|
1643
|
-
if ((0, types_1.
|
1705
|
+
if ((0, types_1.isAnyOrUnknown)(subtype)) {
|
1706
|
+
if (isPositiveTest) {
|
1707
|
+
return literalType;
|
1708
|
+
}
|
1709
|
+
return subtype;
|
1710
|
+
}
|
1711
|
+
else if ((0, types_1.isClassInstance)(subtype) && types_1.ClassType.isSameGenericClass(literalType, subtype)) {
|
1644
1712
|
if (subtype.literalValue !== undefined) {
|
1645
1713
|
const literalValueMatches = types_1.ClassType.isLiteralValueSame(subtype, literalType);
|
1646
1714
|
if ((literalValueMatches && !isPositiveTest) || (!literalValueMatches && isPositiveTest)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../src/analyzer/typeGuards.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../src/analyzer/typeGuards.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;AAEH,qDAS8B;AAE9B,yDAAiD;AACjD,yDAA+E;AAE/E,iEAAmD;AAEnD,6CAA+C;AAC/C,qCAA+C;AAC/C,6CAA2D;AAE3D,mCAgCiB;AACjB,2CA4BqB;AACrB,qDAAkD;AASlD,8EAA8E;AAC9E,wEAAwE;AACxE,yEAAyE;AACzE,wBAAwB;AACxB,SAAgB,wBAAwB,CACpC,SAAwB,EACxB,SAAyB,EACzB,cAA8B,EAC9B,cAAuB,EACvB,cAAc,GAAG,CAAC;IAElB,IAAI,cAAc,GAAG,6BAAqB,EAAE;QACxC,OAAO,SAAS,CAAC;KACpB;IAED,cAAc,EAAE,CAAC;IAEjB,IAAI,cAAc,CAAC,QAAQ,iCAAuC,EAAE;QAChE,OAAO,+CAA+C,CAClD,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,CACjB,CAAC;KACL;IAED,IAAI,cAAc,CAAC,QAAQ,4BAAkC,EAAE;QAC3D,MAAM,iBAAiB,GACnB,cAAc,CAAC,QAAQ,gBAAoB,IAAI,cAAc,CAAC,QAAQ,mBAAuB,CAAC;QAClG,MAAM,yBAAyB,GAC3B,cAAc,CAAC,QAAQ,oBAAwB,IAAI,cAAc,CAAC,QAAQ,uBAA2B,CAAC;QAE1G,IAAI,iBAAiB,IAAI,yBAAyB,EAAE;YAChD,sEAAsE;YACtE,MAAM,iBAAiB,GACnB,cAAc,CAAC,QAAQ,gBAAoB,IAAI,cAAc,CAAC,QAAQ,oBAAwB;gBAC1F,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,CAAC,cAAc,CAAC;YAE1B,uEAAuE;YACvE,yDAAyD;YACzD,IACI,cAAc,CAAC,eAAe,CAAC,QAAQ,sBAA2B;gBAClE,cAAc,CAAC,eAAe,CAAC,SAAS,kBAAqB,EAC/D;gBACE,kEAAkE;gBAClE,4CAA4C;gBAC5C,IAAI,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;gBACnD,IAAI,cAAc,CAAC,QAAQ,iCAAuC,EAAE;oBAChE,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;iBACxC;gBAED,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;oBAChE,OAAO,CAAC,IAAU,EAAE,EAAE;wBAClB,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;oBAClG,CAAC,CAAC;iBACL;gBAED,IACI,cAAc,CAAC,QAAQ,mBAAwB;oBAC/C,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC;oBAC7E,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBACjC,CAAC,cAAc,CAAC,aAAa;oBAC7B,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,mBAA4B;oBACpE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC7B,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,oBAAyB;oBACzE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS;oBACjD,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EACtD;oBACE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC;oBACjE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;wBAChC,OAAO,CAAC,IAAU,EAAE,EAAE;4BAClB,OAAO;gCACH,IAAI,EAAE,wBAAwB,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,CAAC;gCAC9E,YAAY,EAAE,KAAK;6BACtB,CAAC;wBACN,CAAC,CAAC;qBACL;iBACJ;aACJ;YAED,mEAAmE;YACnE,IAAI,cAAc,CAAC,eAAe,CAAC,QAAQ,sBAA2B,EAAE;gBACpE,kEAAkE;gBAClE,4CAA4C;gBAC5C,IAAI,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;gBACnD,IAAI,cAAc,CAAC,QAAQ,iCAAuC,EAAE;oBAChE,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;iBACxC;gBAED,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;oBAChE,OAAO,CAAC,IAAU,EAAE,EAAE;wBAClB,OAAO;4BACH,IAAI,EAAE,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAiB,CAAC;4BACjE,YAAY,EAAE,KAAK;yBACtB,CAAC;oBACN,CAAC,CAAC;iBACL;aACJ;YAED,iFAAiF;YACjF,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,iBAAuB,EAAE;gBAC/D,IACI,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;oBACpD,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,mBAA4B,EACzF;oBACE,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC5E,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;wBAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,CAC1C,cAAc,CAAC,cAAc,CAAC,cAAc,kCAE/C,CAAC,IAAI,CAAC;wBAEP,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;4BACxE,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;4BACtF,MAAM,SAAS,GAAG,SAAS,CAAC,4BAA4B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;4BAE/E,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE;gCAChC,OAAO,CAAC,IAAU,EAAE,EAAE;oCAClB,OAAO;wCACH,IAAI,EAAE,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC;wCACxE,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;qCAC/C,CAAC;gCACN,CAAC,CAAC;6BACL;yBACJ;qBACJ;iBACJ;aACJ;YAED,IAAI,iBAAiB,EAAE;gBACnB,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE;oBAC/E,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;oBACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;oBAEvC,0EAA0E;oBAC1E,IACI,IAAA,uBAAe,EAAC,SAAS,CAAC;wBAC1B,CAAC,iBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBAC5E,SAAS,CAAC,YAAY,KAAK,SAAS,EACtC;wBACE,OAAO,CAAC,IAAU,EAAE,EAAE;4BAClB,OAAO;gCACH,IAAI,EAAE,8BAA8B,CAChC,SAAS,EACT,IAAI,EACJ,SAAS,EACT,iBAAiB;gCACjB,kBAAkB,CAAC,IAAI,CAC1B;gCACD,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;6BAC/C,CAAC;wBACN,CAAC,CAAC;qBACL;oBAED,6CAA6C;oBAC7C,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE;wBAChC,OAAO,CAAC,IAAU,EAAE,EAAE;4BAClB,OAAO;gCACH,IAAI,EAAE,4BAA4B,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC;gCACjF,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;6BAC/C,CAAC;wBACN,CAAC,CAAC;qBACL;iBACJ;gBAED,uEAAuE;gBACvE,IACI,cAAc,CAAC,cAAc,CAAC,QAAQ,mBAAwB;oBAC9D,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAChD,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa;oBAC5C,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,mBAA4B;oBACnF,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,EAC9F;oBACE,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CACjD,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;oBACF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;oBAEvC,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,IAAA,yBAAa,EAAC,SAAS,CAAC,EAAE;wBACxD,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;4BACvC,MAAM,SAAS,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;4BACrF,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE;gCACpE,OAAO,CAAC,IAAU,EAAE,EAAE;oCAClB,OAAO;wCACH,IAAI,EAAE,6CAA6C,CAC/C,SAAS,EACT,IAAI,EACJ,SAAS,EACT,SAAS,EACT,iBAAiB,CACpB;wCACD,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;qCAC/C,CAAC;gCACN,CAAC,CAAC;6BACL;yBACJ;6BAAM,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;4BAC9C,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;4BACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;4BAEvC,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE;gCACpE,IAAI,SAAS,GAAG,KAAK,CAAC;gCACtB,2DAA2D;gCAC3D,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;oCACxC,SAAS,GAAG,IAAI,CAAC;iCACpB;qCAAM,IAAI,SAAS,CAAC,YAAY,YAAY,mBAAW,EAAE;oCACtD,SAAS,GAAG,IAAI,CAAC;iCACpB;gCAED,IAAI,SAAS,EAAE;oCACX,OAAO,CAAC,IAAU,EAAE,EAAE;wCAClB,OAAO;4CACH,IAAI,EAAE,yCAAyC,CAC3C,SAAS,EACT,IAAI,EACJ,SAAS,EACT,SAAS,EACT,iBAAiB,CACpB;4CACD,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;yCAC/C,CAAC;oCACN,CAAC,CAAC;iCACL;6BACJ;yBACJ;qBACJ;iBACJ;aACJ;YAED,IAAI,yBAAyB,EAAE;gBAC3B,4CAA4C;gBAC5C,MAAM,iBAAiB,GACnB,cAAc,CAAC,QAAQ,oBAAwB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAEvF,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE;oBAC/E,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;oBACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;oBAEvC,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE;wBACpE,OAAO,CAAC,IAAU,EAAE,EAAE;4BAClB,OAAO;gCACH,IAAI,EAAE,8BAA8B,CAChC,SAAS,EACT,IAAI,EACJ,SAAS,EACT,iBAAiB;gCACjB,kBAAkB,CAAC,KAAK,CAC3B;gCACD,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;6BAC/C,CAAC;wBACN,CAAC,CAAC;qBACL;iBACJ;gBAED,kEAAkE;gBAClE,IACI,cAAc,CAAC,cAAc,CAAC,QAAQ,mBAAwB;oBAC9D,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAChD,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa;oBAC5C,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,mBAA4B;oBACnF,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,EAC9F;oBACE,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CACjD,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;oBACF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;oBAEvC,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,IAAA,yBAAa,EAAC,SAAS,CAAC,EAAE;wBACxD,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;4BAChD,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;4BACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;4BAEvC,IAAI,IAAA,gCAAoB,EAAC,SAAS,CAAC,EAAE;gCACjC,OAAO,CAAC,IAAU,EAAE,EAAE;oCAClB,IAAI,YAAkB,CAAC;oCAEvB,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;wCACvC,YAAY,GAAG,6CAA6C,CACxD,SAAS,EACT,IAAI,EACJ,SAAS,EACT,SAAS,EACT,iBAAiB,CACpB,CAAC;qCACL;yCAAM;wCACH,YAAY,GAAG,yCAAyC,CACpD,SAAS,EACT,IAAI,EACJ,SAAS,EACT,SAAS,EACT,iBAAiB,CACpB,CAAC;qCACL;oCAED,OAAO;wCACH,IAAI,EAAE,YAAY;wCAClB,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY;qCACjF,CAAC;gCACN,CAAC,CAAC;6BACL;yBACJ;qBACJ;iBACJ;aACJ;YAED,sDAAsD;YACtD,IACI,yBAAyB;gBACzB,cAAc,CAAC,cAAc,CAAC,QAAQ,iBAAuB;gBAC7D,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EACtD;gBACE,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;gBAE5E,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;oBAC1D,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAChD,cAAc,CAAC,cAAc,CAAC,cAAc,kCAE/C,CAAC;oBACF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;oBAErC,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,cAAc,EAAE;wBACtE,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;wBACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;wBAEvC,IACI,IAAA,uBAAe,EAAC,SAAS,CAAC;4BAC1B,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ;4BAC1C,SAAS,CAAC,YAAY,IAAI,CAAC,EAC7B;4BACE,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC;4BAE3C,OAAO,CAAC,IAAU,EAAE,EAAE;gCAClB,OAAO;oCACH,IAAI,EAAE,wBAAwB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC;oCAC/E,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY;iCAChF,CAAC;4BACN,CAAC,CAAC;yBACL;qBACJ;iBACJ;aACJ;YAED,gDAAgD;YAChD,IACI,yBAAyB;gBACzB,cAAc,CAAC,cAAc,CAAC,QAAQ,0BAA+B;gBACrE,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,EAC9F;gBACE,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;gBACvC,MAAM,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC;gBAE5D,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE;oBACpE,OAAO,CAAC,IAAU,EAAE,EAAE;wBAClB,OAAO;4BACH,IAAI,EAAE,gDAAgD,CAClD,SAAS,EACT,IAAI,EACJ,UAAU,CAAC,KAAK,EAChB,SAAS,EACT,iBAAiB,CACpB;4BACD,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;yBAC/C,CAAC;oBACN,CAAC,CAAC;iBACL;aACJ;YAED,uEAAuE;YACvE,0BAA0B;YAC1B,IACI,cAAc,CAAC,cAAc,CAAC,QAAQ,0BAA+B;gBACrE,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,EAC9F;gBACE,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;gBACvC,MAAM,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC;gBAE5D,IACI,IAAA,uBAAe,EAAC,SAAS,CAAC;oBAC1B,CAAC,iBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC5E,SAAS,CAAC,YAAY,KAAK,SAAS,EACtC;oBACE,OAAO,CAAC,IAAU,EAAE,EAAE;wBAClB,OAAO;4BACH,IAAI,EAAE,gDAAgD,CAClD,SAAS,EACT,IAAI,EACJ,UAAU,CAAC,KAAK,EAChB,SAAS,EACT,iBAAiB,CACpB;4BACD,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;yBAC/C,CAAC;oBACN,CAAC,CAAC;iBACL;aACJ;YAED,0CAA0C;YAC1C,yDAAyD;YACzD,IACI,cAAc,CAAC,cAAc,CAAC,QAAQ,0BAA+B;gBACrE,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC;gBAC5F,cAAc,CAAC,eAAe,CAAC,QAAQ,sBAA2B;gBAClE,cAAc,CAAC,eAAe,CAAC,SAAS,kBAAqB,EAC/D;gBACE,MAAM,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC;gBAC5D,OAAO,CAAC,IAAU,EAAE,EAAE;oBAClB,OAAO;wBACH,IAAI,EAAE,6CAA6C,CAC/C,SAAS,EACT,IAAI,EACJ,UAAU,CAAC,KAAK,EAChB,iBAAiB,CACpB;wBACD,YAAY,EAAE,KAAK;qBACtB,CAAC;gBACN,CAAC,CAAC;aACL;SACJ;QAED,IAAI,cAAc,CAAC,QAAQ,gBAAoB,IAAI,cAAc,CAAC,QAAQ,mBAAuB,EAAE;YAC/F,8EAA8E;YAC9E,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE;gBAC/E,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBACtF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;gBACvC,MAAM,iBAAiB,GACnB,cAAc,CAAC,QAAQ,gBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAEnF,OAAO,CAAC,IAAU,EAAE,EAAE;oBAClB,OAAO;wBACH,IAAI,EAAE,0BAA0B,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC;wBAC/E,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY;qBAC/C,CAAC;gBACN,CAAC,CAAC;aACL;YAED,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE;gBAChF,kEAAkE;gBAClE,0BAA0B;gBAC1B,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBACpF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;gBAErC,IAAI,IAAA,uBAAe,EAAC,QAAQ,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAA,yBAAa,EAAC,QAAQ,CAAC,EAAE;oBAC9F,MAAM,iBAAiB,GACnB,cAAc,CAAC,QAAQ,gBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;oBACnF,OAAO,CAAC,IAAU,EAAE,EAAE;wBAClB,OAAO;4BACH,IAAI,EAAE,yBAAyB,CAC3B,SAAS,EACT,IAAI,EACJ,iBAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACvC,iBAAiB,CACpB;4BACD,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY;yBAC9C,CAAC;oBACN,CAAC,CAAC;iBACL;aACJ;SACJ;KACJ;IAED,IAAI,cAAc,CAAC,QAAQ,iBAAuB,EAAE;QAChD,qDAAqD;QACrD,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACvC,+DAA+D;YAC/D,4DAA4D;YAC5D,wBAAwB;YACxB,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAE7D,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC1D,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAChD,cAAc,CAAC,cAAc,kCAEhC,CAAC;gBACF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;gBAErC,IACI,IAAA,kBAAU,EAAC,QAAQ,CAAC;oBACpB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,KAAK,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,KAAK,YAAY,CAAC,EAClG;oBACE,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,KAAK,YAAY,CAAC;oBACtE,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAChD,QAAQ,EACR;2DAC8C;kDACV;qDACG,CAC1C,CAAC;oBACF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;oBAErC,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;oBACxD,MAAM,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC;oBAEpF,IAAI,aAAa,EAAE;wBACf,OAAO,CAAC,IAAU,EAAE,EAAE;4BAClB,MAAM,YAAY,GAAG,uBAAuB,CACxC,SAAS,EACT,IAAI,EACJ,aAAa,EACb,eAAe,EACf,cAAc;4BACd,wBAAwB,CAAC,KAAK,EAC9B,cAAc,CACjB,CAAC;4BACF,IAAI,CAAC,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE;gCACxB,OAAO;oCACH,IAAI,EAAE,YAAY;oCAClB,YAAY;iCACf,CAAC;6BACL;4BAED,6CAA6C;4BAC7C,OAAO;gCACH,IAAI,EAAE,uBAAuB,CACzB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,eAAe,EACf,cAAc;gCACd,wBAAwB,CAAC,IAAI,EAC7B,cAAc,CACjB;gCACD,YAAY;6BACf,CAAC;wBACN,CAAC,CAAC;qBACL;yBAAM,IAAI,YAAY,EAAE;wBACrB,wEAAwE;wBACxE,oCAAoC;wBACpC,OAAO,CAAC,IAAU,EAAE,EAAE;4BAClB,OAAO;gCACH,IAAI;gCACJ,YAAY,EAAE,IAAI;6BACrB,CAAC;wBACN,CAAC,CAAC;qBACL;iBACJ;aACJ;SACJ;QAED,yBAAyB;QACzB,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7D,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC1D,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAChD,cAAc,CAAC,cAAc,kCAEhC,CAAC;gBACF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;gBAErC,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE;oBACrE,OAAO,CAAC,IAAU,EAAE,EAAE;wBAClB,IAAI,YAAY,GAAG,qBAAqB,CACpC,SAAS,EACT,IAAI,EACJ,cAAc,EACd,cAAc;wBACd,wBAAwB,CAAC,KAAK,CACjC,CAAC;wBACF,IAAI,cAAc,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE;4BACzC,wCAAwC;4BACxC,YAAY,GAAG,qBAAqB,CAChC,SAAS,EACT,IAAI,EACJ,cAAc,EACd,cAAc;4BACd,wBAAwB,CAAC,IAAI,CAChC,CAAC;yBACL;wBAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;oBAC/E,CAAC,CAAC;iBACL;aACJ;SACJ;QAED,qBAAqB;QACrB,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC5E,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAC7F,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAChD,cAAc,CAAC,cAAc,kCAEhC,CAAC;gBACF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;gBAErC,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACxE,OAAO,CAAC,IAAU,EAAE,EAAE;wBAClB,OAAO;4BACH,IAAI,EAAE,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC;4BAC9D,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY;yBAC9C,CAAC;oBACN,CAAC,CAAC;iBACL;aACJ;SACJ;QAED,iCAAiC;QACjC,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7D,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gBAC1D,yDAAyD;gBACzD,IAAI,mBAAmB,GAAG,KAAK,CAAC;gBAEhC,MAAM,yBAAyB,GAAG,CAAC,IAAkB,EAAE,EAAE;oBACrD,OAAO,CACH,IAAI,CAAC,OAAO,CAAC,kBAAkB;wBAC/B,IAAA,uBAAe,EAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;wBAChD,iBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,WAAW,CAAC,CACpE,CAAC;gBACN,CAAC,CAAC;gBAEF,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAChD,cAAc,CAAC,cAAc,kCAEhC,CAAC;gBACF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;gBAErC,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE;oBAC7D,mBAAmB,GAAG,IAAI,CAAC;iBAC9B;qBAAM,IACH,IAAA,4BAAoB,EAAC,QAAQ,CAAC;oBAC9B,8BAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EACzF;oBACE,mBAAmB,GAAG,IAAI,CAAC;iBAC9B;qBAAM,IAAI,IAAA,uBAAe,EAAC,QAAQ,CAAC,EAAE;oBAClC,mBAAmB,GAAG,IAAI,CAAC;iBAC9B;gBAED,IAAI,mBAAmB,EAAE;oBACrB,2CAA2C;oBAC3C,MAAM,wBAAwB,GAAG,SAAS,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;oBAC/E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,IAAI,CAAC;oBAEzD,IACI,IAAA,uBAAe,EAAC,kBAAkB,CAAC;wBACnC,iBAAS,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;wBAC/C,kBAAkB,CAAC,aAAa,EAClC;wBACE,MAAM,iBAAiB,GAAG,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;wBACjE,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;wBACvD,MAAM,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC,wBAAwB,CAAC,YAAY,CAAC;wBAE9F,OAAO,CAAC,IAAU,EAAE,EAAE;4BAClB,OAAO;gCACH,IAAI,EAAE,iCAAiC,CACnC,SAAS,EACT,IAAI,EACJ,aAAa,EACb,cAAc,EACd,iBAAiB,CACpB;gCACD,YAAY;6BACf,CAAC;wBACN,CAAC,CAAC;qBACL;iBACJ;aACJ;SACJ;KACJ;IAED,IAAI,cAAc,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;QAChE,OAAO,CAAC,IAAU,EAAE,EAAE;YAClB,OAAO;gBACH,IAAI,EAAE,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC;gBAC9D,YAAY,EAAE,KAAK;aACtB,CAAC;QACN,CAAC,CAAC;KACL;IAED,6EAA6E;IAC7E,yFAAyF;IACzF,MAAM,iBAAiB,GAAG,2CAA2C,CACjE,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,CACjB,CAAC;IACF,IAAI,iBAAiB,EAAE;QACnB,OAAO,iBAAiB,CAAC;KAC5B;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,iDAAiD;IACjD,IAAI,SAAS,CAAC,QAAQ,kBAAuB,EAAE;QAC3C,IAAI,cAAc,CAAC,QAAQ,4BAAiC,IAAI,cAAc,CAAC,QAAQ,iBAAqB,EAAE;YAC1G,OAAO,wBAAwB,CAC3B,SAAS,EACT,SAAS,EACT,cAAc,CAAC,UAAU,EACzB,CAAC,cAAc,EACf,cAAc,CACjB,CAAC;SACL;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAxrBD,4DAwrBC;AAED,SAAS,2CAA2C,CAChD,SAAwB,EACxB,SAAyB,EACzB,cAA8B,EAC9B,cAAuB,EACvB,cAAsB;IAEtB,IACI,cAAc,CAAC,QAAQ,kBAAuB;QAC9C,SAAS,CAAC,QAAQ,kBAAuB;QACzC,cAAc,KAAK,SAAS,EAC9B;QACE,OAAO,SAAS,CAAC;KACpB;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,wCAAwC;IACxC,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACpF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,qBAA6B,EAAE;QACjG,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACjF,IAAI,CAAC,cAAc,EAAE;QACjB,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,cAAc,GAAkB,EAAE,CAAC;IACvC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,wEAAwE;QACxE,qEAAqE;QACrE,4DAA4D;QAC5D,EAAE;QACF,cAAc;QACd,cAAc;QACd,yBAAyB;QACzB,mBAAmB;QACnB,EAAE;QACF,kBAAkB;QAClB,cAAc;QACd,yBAAyB;QACzB,WAAW;QACX,mBAAmB;QACnB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,OAAO,CACH,SAAS,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC;gBACpD,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7D,CAAC;QACN,CAAC,CAAC,CAAC;KACN;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEpD,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,qBAAqB,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAA,6BAAgB,EAAC,QAAQ,CAAC,EAAE;QAC5G,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AACpG,CAAC;AAED,wEAAwE;AACxE,qBAAqB;AACrB,SAAS,mBAAmB,CACxB,SAAwB,EACxB,IAAc,EACd,aAAwB;IAExB,MAAM,KAAK,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,sBAAuB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,EAAE;QACxE,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACvC,IACI,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,qBAA6B,IAAI,IAAI,CAAC,IAAI,sBAA8B,CAAC,EACzG;QACE,OAAO,SAAS,CAAC;KACpB;IAED,+EAA+E;IAC/E,6DAA6D;IAC7D,IAAI,aAAoC,CAAC;IACzC,IACI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,sBAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7F,MAAM,aAAa,GAAG,cAAc,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,aAAa,IAAI,aAAa,KAAK,aAAa,EAAE;YAClD,OAAO,IAAI,CAAC;SACf;QACD,aAAa,GAAG,aAAa,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,EACJ;QACE,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnG,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,SAAS,+CAA+C,CACpD,SAAwB,EACxB,SAAyB,EACzB,cAAwC,EACxC,cAAuB,EACvB,cAAsB;;IAEtB,OAAO,CACH,MAAA,wBAAwB,CACpB,SAAS,EACT,SAAS,EACT,cAAc,CAAC,eAAe,EAC9B,cAAc,EACd,cAAc,CACjB,mCAAI,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAC3G,CAAC;AACN,CAAC;AAED,SAAS,iCAAiC,CACtC,SAAwB,EACxB,IAAU,EACV,aAAmB,EACnB,cAAuB,EACvB,iBAA0B;IAE1B,iEAAiE;IACjE,8DAA8D;IAC9D,IAAI,CAAC,iBAAiB,EAAE;QACpB,OAAO,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;KAChD;IAED,2CAA2C;IAC3C,OAAO,IAAA,uBAAW,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QACjC,IAAI,cAAc,EAAE;YAChB,sEAAsE;YACtE,8EAA8E;YAC9E,gFAAgF;YAChF,kFAAkF;YAClF,8EAA8E;YAC9E,mFAAmF;YACnF,sEAAsE;YACtE,+EAA+E;YAC/E,gFAAgF;YAChF,gFAAgF;YAChF,sBAAsB;YACtB,OAAO,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,gBAAgB,EAAE,EAAE;gBACnD,IAAI,IAAA,kBAAU,EAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE;oBACnG,OAAO,OAAO,CAAC;iBAClB;gBAED,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAClE,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAEpE,IAAI,SAAS,EAAE;oBACX,IAAI,CAAC,WAAW,EAAE;wBACd,OAAO,OAAO,CAAC;qBAClB;oBAED,kEAAkE;oBAClE,wEAAwE;oBACxE,sEAAsE;oBACtE,8EAA8E;oBAC9E,OAAO,IAAA,gCAAoB,EAAC,gBAAgB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;iBAClG;gBAED,IAAI,WAAW,EAAE;oBACb,OAAO,gBAAgB,CAAC;iBAC3B;gBAED,oCAAoC;gBACpC,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC,CAAC;SACN;aAAM;YACH,0EAA0E;YAC1E,4EAA4E;YAC5E,4EAA4E;YAC5E,gCAAgC;YAChC,8EAA8E;YAC9E,gFAAgF;YAChF,0EAA0E;YAC1E,uEAAuE;YACvE,6CAA6C;YAC7C,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,IAAI,CAAC,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;gBAC1B,IAAA,4BAAgB,EAAC,aAAa,EAAE,CAAC,gBAAgB,EAAE,EAAE;oBACjD,IACI,IAAA,kBAAU,EAAC,OAAO,EAAE,gBAAgB,EAAE;wBAClC,mBAAmB,EAAE,IAAI;wBACzB,qBAAqB,EAAE,IAAI;qBAC9B,CAAC,EACJ;wBACE,eAAe,GAAG,IAAI,CAAC;qBAC1B;yBAAM;wBACH,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;wBAClE,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;wBAEpE,IAAI,SAAS,IAAI,CAAC,IAAA,sBAAc,EAAC,gBAAgB,CAAC,EAAE;4BAChD,IAAI,CAAC,WAAW,EAAE;gCACd,eAAe,GAAG,IAAI,CAAC;6BAC1B;iCAAM;gCACH,kEAAkE;gCAClE,qEAAqE;gCACrE,wEAAwE;gCACxE,oEAAoE;gCACpE,mEAAmE;gCACnE,wEAAwE;gCACxE,wDAAwD;gCACxD,MAAM,kBAAkB,GAAG,IAAA,gCAAoB,EAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gCAC7E,MAAM,2BAA2B,GAAG,IAAA,gCAAoB,EACpD,gBAAgB;gCAChB,aAAa,CAAC,IAAI,CACrB,CAAC;gCAEF,IAAI,CAAC,kBAAkB,IAAI,2BAA2B,EAAE;oCACpD,eAAe,GAAG,IAAI,CAAC;iCAC1B;6BACJ;yBACJ;qBACJ;gBACL,CAAC,CAAC,CAAC;aACN;YAED,OAAO,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;SAChD;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,qEAAqE;AACrE,SAAS,uBAAuB,CAAC,SAAwB,EAAE,IAAU,EAAE,cAAuB;IAC1F,OAAO,IAAA,uBAAW,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QACjC,IAAI,cAAc,EAAE;YAChB,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;gBAChC,OAAO,SAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;aACrD;SACJ;aAAM;YACH,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBAC/B,OAAO,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;aACtD;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,gGAAgG;AAChG,uGAAuG;AACvG,SAAS,wBAAwB,CAAC,SAAwB,EAAE,IAAU,EAAE,cAAuB,EAAE,UAAkB;IAC/G,OAAO,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;QAC1F,MAAM,SAAS,GAAG,IAAA,mCAAuB,EAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,IAAI,IAAA,iCAAqB,EAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE;YACjF,OAAO,OAAO,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACxD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,WAAW,EAAE;YAC7C,OAAO,OAAO,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1G,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,gBAAQ,CAAC,cAAc,EAAE,CAAC,EAAE;gBAC/D,OAAO,SAAS,CAAC;aACpB;SACJ;aAAM;YACH,IAAI,IAAA,sBAAc,EAAC,WAAW,CAAC,EAAE;gBAC7B,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,qFAAqF;AACrF,SAAS,mBAAmB,CAAC,SAAwB,EAAE,IAAU,EAAE,cAAuB;IACtF,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QAC/C,OAAO,IAAA,+CAAmC,EAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,yBAAyB,GAAG,KAAK,CAAC;IAEtC,MAAM,MAAM,GAAG,SAAS,CAAC,yBAAyB,CAC9C,YAAY;IACZ,qBAAqB,CAAC,SAAS,EAC/B,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE;QAC3B,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;YACzB,iEAAiE;YACjE,wEAAwE;YACxE,OAAO,OAAO,CAAC;SAClB;QAED,kEAAkE;QAClE,iEAAiE;QACjE,4BAA4B;QAC5B,MAAM,eAAe,GACjB,IAAA,iBAAS,EAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAC9E,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,OAAO,CAAC;QAElB,kCAAkC;QAClC,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpE,yBAAyB,GAAG,IAAI,CAAC;YACjC,OAAO,cAAc;gBACjB,CAAC,CAAC,IAAA,8BAAkB,EAAC,gBAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC;gBAClE,CAAC,CAAC,eAAe,CAAC;SACzB;QAED,gCAAgC;QAChC,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,KAAK,cAAc,EAAE;YAC5C,yBAAyB,GAAG,IAAI,CAAC;YACjC,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CACJ,CAAC;IAEF,2EAA2E;IAC3E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,cAAc,IAAI,yBAAyB,EAAE;QAC7C,OAAO,IAAA,uBAAW,EAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,CAAC,CAAC,CAAC;KACN;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,mFAAmF;AACnF,SAAS,uBAAuB,CAAC,SAAwB,EAAE,IAAU,EAAE,cAAuB;IAC1F,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QAC/C,OAAO,IAAA,+CAAmC,EAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,yBAAyB,CACtC,YAAY;IACZ,qBAAqB,CAAC,SAAS,EAC/B,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE;QAC3B,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;YACzB,iEAAiE;YACjE,wEAAwE;YACxE,OAAO,OAAO,CAAC;SAClB;QAED,kEAAkE;QAClE,iEAAiE;QACjE,4BAA4B;QAC5B,MAAM,eAAe,GACjB,IAAA,iBAAS,EAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAC9E,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,OAAO,CAAC;QAElB,kCAAkC;QAClC,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpE,OAAO,cAAc;gBACjB,CAAC,CAAC,IAAA,8BAAkB,EAAC,gBAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC;gBAClE,CAAC,CAAC,eAAe,CAAC;SACzB;QAED,MAAM,UAAU,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAExF,iCAAiC;QACjC,IAAI,UAAU,KAAK,cAAc,EAAE;YAC/B,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CACJ,CAAC;AACN,CAAC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,yDAAyD;AACzD,SAAS,uBAAuB,CAAC,OAAa;IAC1C,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,MAAM,aAAa,GAA0D,EAAE,CAAC;IAEhF,iEAAiE;IACjE,+CAA+C;IAC/C,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,gBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC1F,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;iBAAM,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;gBACjC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;iBAAM,IACH,IAAA,kBAAU,EAAC,OAAO,CAAC;gBACnB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBACvC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,qBAA+B;gBACrE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,uBAAiC,EACzE;gBACE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;iBAAM;gBACH,iBAAiB,GAAG,IAAI,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,OAAa,EAAE,cAAc,GAAG,CAAC,EAAE,EAAE;QACjE,IAAI,cAAc,GAAG,6BAAqB,EAAE;YACxC,OAAO;SACV;QAED,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,IAAI,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE;YAC3E,IAAI,OAAO,CAAC,kBAAkB,EAAE;gBAC5B,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC9C,sBAAsB,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;aACN;SACJ;aAAM;YACH,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAClC;IACL,CAAC,CAAC;IAEF,IAAA,4BAAgB,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QAClC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;AACzD,CAAC;AAED,SAAgB,4BAA4B,CACxC,SAAwB,EACxB,OAAa,EACb,eAA0B,EAC1B,UAAgB,EAChB,kBAA6B,EAC7B,eAAwB;IAExB,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,EAAE;QACvB,OAAO,IAAA,kBAAU,EAAC,IAAA,6BAAiB,EAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;KAC7D;IAED,wDAAwD;IACxD,+DAA+D;IAC/D,qCAAqC;IACrC,IAAI,kBAAkB,CAAC,iBAAiB,EAAE;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,iBAAS,CAAC,aAAa,CAAC,eAAe,EAAE,kBAAkB,CAAC,EAAE;QAC9D,OAAO,IAAI,CAAC;KACf;IAED,IAAI,eAAe,EAAE;QACjB,IACI,iBAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC;YAC7C,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,eAAe,CAAC,EAC3D;YACE,OAAO,IAAI,CAAC;SACf;KACJ;IAED,qEAAqE;IACrE,qEAAqE;IACrE,2CAA2C;IAC3C,IAAI,iBAAS,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE;QAChG,OAAO,IAAI,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAxCD,oEAwCC;AAED,SAAgB,0BAA0B,CACtC,SAAwB,EACxB,OAAkB,EAClB,kBAA6B,EAC7B,eAAwB;IAExB,IAAI,iBAAS,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;QACtD,OAAO,IAAI,CAAC;KACf;IAED,IAAI,eAAe,EAAE;QACjB,IAAI,iBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE;YACzF,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAjBD,gEAiBC;AAED,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,oEAAoE;AACpE,uDAAuD;AACvD,SAAS,uBAAuB,CAC5B,SAAwB,EACxB,IAAU,EACV,aAAoE,EACpE,eAAwB,EACxB,cAAuB,EACvB,kBAA2B,EAC3B,SAAyB;IAEzB,IAAI,aAAa,GAAG,IAAA,uBAAW,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9C,OAAO,IAAA,+CAAmC,EAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,aAAa,GAAG,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEhE,0DAA0D;IAC1D,2DAA2D;IAC3D,uBAAuB;IACvB,MAAM,eAAe,GAAG,CACpB,OAAa,EACb,eAA0B,EAC1B,UAAuC,EACvC,oBAA0B,EACpB,EAAE;QACR,MAAM,aAAa,GAAW,EAAE,CAAC;QAEjC,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,gCAAgC,GAAG,KAAK,CAAC;QAE7C,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE;YACpC,IAAI,kBAAkB,GAAG,SAAS,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAE5E,IAAI,IAAA,2BAAmB,EAAC,kBAAkB,CAAC,EAAE;gBACzC,iEAAiE;gBACjE,sEAAsE;gBACtE,gBAAgB;gBAChB,IAAI,kBAAkB,CAAC,aAAa,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE;oBAChF,kBAAkB,GAAG,IAAA,iCAAqB,EACtC,iBAAS,CAAC,sBAAsB,CAC5B,kBAAkB;oBAClB,mBAAmB,CAAC,SAAS;oBAC7B,4BAA4B,CAAC,KAAK,CACrC,CACJ,CAAC;iBACL;gBAED,MAAM,kBAAkB,GAAG,4BAA4B,CACnD,SAAS,EACT,OAAO,EACP,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,eAAe,CAClB,CAAC;gBACF,MAAM,gBAAgB,GAAG,0BAA0B,CAC/C,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,eAAe,CAClB,CAAC;gBAEF,IAAI,kBAAkB,EAAE;oBACpB,eAAe,GAAG,IAAI,CAAC;iBAC1B;gBAED,qEAAqE;gBACrE,8DAA8D;gBAC9D,6DAA6D;gBAC7D,+DAA+D;gBAC/D,iCAAiC;gBACjC,IACI,gBAAgB;oBAChB,kBAAkB;oBAClB,CAAC,iBAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAAC,EACpE;oBACE,gCAAgC,GAAG,IAAI,CAAC;iBAC3C;gBAED,IAAI,cAAc,EAAE;oBAChB,IAAI,kBAAkB,EAAE;wBACpB,+DAA+D;wBAC/D,2DAA2D;wBAC3D,aAAa,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;qBACvE;yBAAM,IAAI,gBAAgB,EAAE;wBACzB,IACI,SAAS,CAAC,UAAU,CAChB,eAAe,EACf,kBAAkB;wBAClB,UAAU,CAAC,SAAS;wBACpB,wBAAwB,CAAC,SAAS;wBAClC,uBAAuB,CAAC,SAAS,EACjC,uEAAkF,CACrF,EACH;4BACE,yDAAyD;4BACzD,kDAAkD;4BAClD,IAAI,qBAAqB,GAAG,UAAU,CAAC;4BAEvC,gEAAgE;4BAChE,+DAA+D;4BAC/D,yCAAyC;4BACzC,IAAI,IAAA,eAAO,EAAC,UAAU,CAAC,EAAE;gCACrB,IACI,iBAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC;oCACtC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAC9C;oCACE,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;oCACzE,MAAM,uBAAuB,GAAG,iBAAS,CAAC,sBAAsB,CAC5D,UAAU;oCACV,mBAAmB,CAAC,SAAS;oCAC7B,4BAA4B,CAAC,KAAK,CACrC,CAAC;oCAEF,IACI,IAAA,4DAAyC,EACrC,SAAS,EACT,uBAAuB,EACvB,eAAe,EACf,cAAc;oCACd,uBAAuB,CAAC,SAAS,EACjC,SAAS,CAAC,KAAK,CAClB,EACH;wCACE,qBAAqB,GAAG,IAAA,+BAAmB,EACvC,uBAAuB,EACvB,cAAc,EACd,EAAE,iBAAiB,EAAE,IAAI,EAAE,CACjB,CAAC;qCAClB;iCACJ;6BACJ;4BAED,aAAa,CAAC,IAAI,CAAC,IAAA,8BAAkB,EAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC;yBAC7E;qBACJ;yBAAM,IACH,kBAAkB;wBAClB,CAAC,iBAAS,CAAC,OAAO,CAAC,eAAe,CAAC;wBACnC,CAAC,iBAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,EACxC;wBACE,mEAAmE;wBACnE,kEAAkE;wBAClE,6DAA6D;wBAC7D,iEAAiE;wBACjE,iBAAiB;wBACjB,MAAM,SAAS,GAAG,gBAAgB,eAAe,CAAC,OAAO,CAAC,IAAI,QAAQ,kBAAkB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;wBACzG,MAAM,QAAQ,GAAG,IAAA,8BAAW,EAAC,SAAS,CAAC,CAAC;wBAExC,sFAAsF;wBACtF,IAAI,kBAAkB,GAAG,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC;wBACpE,IAAI,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,EAAE;4BAC/C,IACI,CAAC,kBAAkB;gCACnB,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,EACzF;gCACE,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC;6BACtE;yBACJ;wBAED,IAAI,YAAY,GAAG,iBAAS,CAAC,kBAAkB,CAC3C,SAAS,EACT,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAC1E,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,gBAEjB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC;wBACzC,uBAAuB,CAAC,SAAS,EACjC,kBAAkB,EAClB,eAAe,CAAC,OAAO,CAAC,SAAS,CACpC,CAAC;wBACF,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG;4BAC/B,iBAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC;4BAC9C,kBAAkB;yBACrB,CAAC;wBACF,IAAA,mCAAuB,EAAC,YAAY,CAAC,CAAC;wBAEtC,YAAY,GAAG,IAAA,8BAAkB,EAAC,YAAY,EAAE,kBAAkB,CAAC,SAAS,CAAc,CAAC;wBAE3F,IACI,IAAA,iBAAS,EAAC,OAAO,CAAC;4BAClB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;4BAC5B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAC1C;4BACE,YAAY,GAAG,IAAA,8BAAkB,EAAC,YAAY,EAAE;gCAC5C;oCACI,WAAW,EAAE,mBAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC;oCAClD,eAAe,EAAE,CAAC;oCAClB,oBAAoB,EAAE,KAAK;iCAC9B;6BACJ,CAAc,CAAC;yBACnB;wBAED,IAAI,oBAAoB,GAAG,iBAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;wBAEnE,IAAI,eAAe,CAAC,SAAS,EAAE;4BAC3B,oBAAoB,GAAG,IAAA,8BAAkB,EACrC,oBAAoB,EACpB,eAAe,CAAC,SAAS,CACf,CAAC;yBAClB;wBAED,6EAA6E;wBAC7E,gFAAgF;wBAChF,gBAAgB;wBAChB,aAAa,CAAC,IAAI,CACd,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAS,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAC/F,CAAC;qBACL;iBACJ;aACJ;iBAAM,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,IAAI,gBAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;gBACrE,sEAAsE;gBACtE,6CAA6C;gBAC7C,IAAI,eAAe,IAAI,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBACjD,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAA,6BAAiB,EAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE;wBAC1E,6DAA6D;wBAC7D,2CAA2C;wBAC3C,IAAI,cAAc,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC/B;6BAAM;4BACH,eAAe,GAAG,IAAI,CAAC;yBAC1B;qBACJ;yBAAM;wBACH,IAAI,cAAc,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;yBACrD;6BAAM;4BACH,6DAA6D;4BAC7D,mDAAmD;4BACnD,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC5B,gCAAgC,GAAG,IAAI,CAAC;yBAC3C;qBACJ;iBACJ;qBAAM,IAAI,CAAC,eAAe,IAAI,gBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBAC7D,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,IAAA,kBAAU,EAAC,UAAU,EAAE,OAAO,CAAC,EAAE;wBACvD,IAAI,cAAc,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC/B;qBACJ;yBAAM;wBACH,IAAI,cAAc,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBAClC;6BAAM;4BACH,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC5B,gCAAgC,GAAG,IAAI,CAAC;yBAC3C;qBACJ;iBACJ;aACJ;iBAAM,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,EAAE;gBAC/B,+CAA+C;gBAC/C,IAAI,eAAe,EAAE;oBACjB,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,IAAI,IAAA,eAAO,EAAC,eAAe,CAAC,EAAE;wBAC1B,IAAI,gBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;4BAClC,UAAU,GAAG,IAAI,CAAC;yBACrB;6BAAM;4BACH,UAAU,GAAG,CAAC,CAAC,IAAA,6BAAiB,EAC5B,eAAe,EACf,UAAU,gCAEb,CAAC;yBACL;qBACJ;oBAED,IAAI,UAAU,EAAE;wBACZ,IAAI,cAAc,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC/B;6BAAM;4BACH,eAAe,GAAG,IAAI,CAAC;yBAC1B;qBACJ;yBAAM,IAAI,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE;wBAC1D,IAAI,cAAc,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBAClC;qBACJ;iBACJ;aACJ;SACJ;QAED,sDAAsD;QACtD,yDAAyD;QACzD,6DAA6D;QAC7D,0DAA0D;QAC1D,8DAA8D;QAC9D,IAAI,CAAC,cAAc,EAAE;YACjB,IAAI,CAAC,eAAe,IAAI,gCAAgC,EAAE;gBACtD,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC5C;SACJ;QAED,IAAI,CAAC,eAAe,EAAE;YAClB,+DAA+D;YAC/D,+DAA+D;YAC/D,mBAAmB;YACnB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,2BAAmB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAqB,EAAC,IAAA,6BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/G;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,6BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,0EAA0E;IAC1E,0EAA0E;IAC1E,6BAA6B;IAC7B,MAAM,mBAAmB,GAAG,CAAC,aAAwB,EAAE,oBAA0B,EAAU,EAAE;QACzF,MAAM,aAAa,GAAW,EAAE,CAAC;QAEjC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE;YACpC,MAAM,kBAAkB,GAAG,SAAS,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAE9E,IAAI,IAAA,2BAAmB,EAAC,kBAAkB,CAAC,EAAE;gBACzC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAEtE,IAAI,eAAe,IAAI,IAAA,2BAAmB,EAAC,eAAe,CAAC,EAAE;oBACzD,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAC3C,aAAa,EACb,iBAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAC7C,CAAC;oBAEF,IAAI,kBAAkB,EAAE;wBACpB,IAAI,cAAc,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BAC/B,kBAAkB,GAAG,IAAI,CAAC;yBAC7B;6BAAM,IAAI,CAAC,IAAA,kBAAU,EAAC,aAAa,EAAE,eAAe,CAAC,IAAI,eAAe,CAAC,iBAAiB,EAAE;4BACzF,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAClC,oBAAoB,GAAG,IAAI,CAAC;yBAC/B;qBACJ;iBACJ;qBAAM;oBACH,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAClC,oBAAoB,GAAG,IAAI,CAAC;iBAC/B;aACJ;iBAAM;gBACH,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClC,oBAAoB,GAAG,IAAI,CAAC;aAC/B;SACJ;QAED,sDAAsD;QACtD,mEAAmE;QACnE,oCAAoC;QACpC,IAAI,CAAC,cAAc,EAAE;YACjB,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,EAAE;gBAC7C,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC5C;SACJ;QAED,+DAA+D;QAC/D,+DAA+D;QAC/D,mBAAmB;QACnB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,2BAAmB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,iCAAqB,EAAC,IAAA,6BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,OAA8C,EAAE,cAAoB,EAAU,EAAE;QACxG,MAAM,aAAa,GAAW,EAAE,CAAC;QAEjC,IAAI,cAAc,EAAE;YAChB,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE;gBACpC,MAAM,kBAAkB,GAAG,SAAS,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBAE9E,IACI,SAAS,CAAC,UAAU,CAChB,OAAO,EACP,IAAA,6BAAiB,EAAC,kBAAkB,CAAC;gBACrC,UAAU,CAAC,SAAS;gBACpB,wBAAwB,CAAC,SAAS;gBAClC,uBAAuB,CAAC,SAAS,+BAEpC,EACH;oBACE,kEAAkE;oBAClE,2DAA2D;oBAC3D,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,EAAE;wBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBACtC;yBAAM;wBACH,aAAa,CAAC,IAAI,CAAC,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;qBACrD;iBACJ;aACJ;SACJ;aAAM,IACH,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/B,mEAAmE;YACnE,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,SAAS,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAC9E,IAAI,IAAA,eAAO,EAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE;gBAC/E,OAAO,KAAK,CAAC;aAChB;YAED,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAA,6BAAiB,EAAC,kBAAkB,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,EACJ;YACE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACtC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,yBAAyB,GAAG,GAAG,EAAE,CACnC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,IAAI,IAAA,uBAAe,EAAC,CAAC,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAA,2BAAmB,EAAC,CAAC,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEP,MAAM,yBAAyB,GAAW,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAW,EAAE,CAAC;IAEhC,MAAM,YAAY,GAAG,SAAS,CAAC,yBAAyB,CACpD,aAAa;IACb,qBAAqB,CAAC,SAAS,EAC/B,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE;QAC3B,wEAAwE;QACxE,4EAA4E;QAC5E,0EAA0E;QAC1E,6EAA6E;QAC7E,SAAS;QACT,MAAM,gBAAgB,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACjF,MAAM,kBAAkB,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,CAAC;QAExD,IAAI,cAAc,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;YAC3C,8DAA8D;YAC9D,0DAA0D;YAC1D,mBAAmB;YACnB,IAAI,eAAe,EAAE;gBACjB,yBAAyB,CAAC,IAAI,CAC1B,IAAA,oBAAY,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC,CAAC,CAC/E,CAAC;aACL;iBAAM;gBACH,+DAA+D;gBAC/D,+DAA+D;gBAC/D,mBAAmB;gBACnB,yBAAyB,CAAC,IAAI,CAC1B,IAAA,oBAAY,EACR,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,iCAAqB,EAAC,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC,CAAC,CACxF,CACJ,CAAC;aACL;YAED,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,eAAe,EAAE;YACjB,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;gBACzB,OAAO,yBAAyB,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;aAC/E;YAED,IAAI,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE;gBAC/F,wDAAwD;gBACxD,2BAA2B;gBAC3B,IAAI,cAAc,EAAE;oBAChB,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;wBACrD,MAAM,iBAAiB,GAAG,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;wBAC5E,OAAO,CACH,IAAA,2BAAmB,EAAC,iBAAiB,CAAC,IAAI,iBAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACzF,CAAC;oBACN,CAAC,CAAC,CAAC;oBAEH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1B,OAAO,IAAA,6BAAiB,EAAC,IAAA,oBAAY,EAAC,aAAa,CAAC,CAAC,CAAC;qBACzD;iBACJ;aACJ;YAED,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACjD,OAAO,IAAA,oBAAY,EACf,eAAe,CACX,IAAA,6BAAiB,EAAC,iBAAiB,CAAC,EACpC,iBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,EACtC,IAAA,4BAAgB,EAAC,OAAO,CAAC,EACzB,gBAAgB,CACnB,CACJ,CAAC;aACL;YAED,IAAI,CAAC,IAAA,kBAAU,EAAC,OAAO,CAAC,IAAI,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC,IAAI,eAAe,EAAE;gBAC3E,OAAO,IAAA,oBAAY,EAAC,kBAAkB,CAAC,OAAO,EAAE,IAAA,6BAAiB,EAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAC1F;YAED,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE;gBACpD,uDAAuD;gBACvD,MAAM,qBAAqB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,mCAAuB,EAAC,SAAS,CAAC,CAAC,CAAC;gBACpG,IAAI,cAAc,EAAE;oBAChB,OAAO,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC/D;qBAAM;oBACH,OAAO,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;iBAC/D;aACJ;SACJ;aAAM;YACH,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;gBAC1B,OAAO,yBAAyB,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;aAC/E;YAED,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,EAAE;gBAClB,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,EAAE;oBAC9B,OAAO,IAAA,oBAAY,EACf,eAAe,CAAC,iBAAiB,EAAE,OAAO,EAAE,IAAA,4BAAgB,EAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAC3F,CAAC;iBACL;qBAAM,IAAI,IAAA,+BAAmB,EAAC,OAAO,CAAC,EAAE;oBACrC,OAAO,IAAA,oBAAY,EAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;iBACvE;aACJ;YAED,IAAI,kBAAkB,EAAE;gBACpB,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACnE,IAAI,UAAU,IAAI,IAAA,uBAAe,EAAC,UAAU,CAAC,EAAE;oBAC3C,OAAO,IAAA,oBAAY,EACf,eAAe,CACX,IAAA,iCAAqB,EAAC,iBAAiB,CAAC,EACxC,iBAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,EACzC,IAAA,4BAAgB,EAAC,OAAO,CAAC,EACzB,gBAAgB,CACnB,CACJ,CAAC;iBACL;aACJ;SACJ;QAED,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACzD,CAAC,CACJ,CAAC;IAEF,kEAAkE;IAClE,qEAAqE;IACrE,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IACrE,gDAAgD;IAChD,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/D,OAAO,IAAA,oBAAY,EAAC,yBAAyB,CAAC,CAAC;KAClD;IAED,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAClD,OAAO,IAAA,oBAAY,EAAC,YAAY,CAAC,CAAC;KACrC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,oEAAoE;AACpE,SAAS,wBAAwB,CAC7B,SAAwB,EACxB,aAAmB,EACnB,WAAmB,EACnB,cAAuB;IAEvB,OAAO,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QAC1C,MAAM,eAAe,GAAG,SAAS,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAExE,2CAA2C;QAC3C,IACI,CAAC,IAAA,uBAAe,EAAC,eAAe,CAAC;YACjC,CAAC,IAAA,wBAAY,EAAC,eAAe,CAAC;YAC9B,CAAC,eAAe,CAAC,kBAAkB,EACrC;YACE,OAAO,OAAO,CAAC;SAClB;QAED,gEAAgE;QAChE,IAAI,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iCAAyB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;YAC/F,OAAO,OAAO,CAAC;SAClB;QAED,gFAAgF;QAChF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC5E,MAAM,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,KAAK,WAAW,CAAC;YACrF,OAAO,kBAAkB,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACtE;QAED,yEAAyE;QACzE,sCAAsC;QACtC,MAAM,aAAa,GAAG,WAAW,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QAElF,4EAA4E;QAC5E,0CAA0C;QAC1C,IAAI,aAAa,GAAG,CAAC,EAAE;YACnB,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/C;QAED,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,OAAO,CAAC;SAClB;QAED,MAAM,aAAa,GAAwB,EAAE,CAAC;QAC9C,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACtB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;iBAAM;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;oBACpC,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;iBAClE;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAA,gCAAoB,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,yFAAyF;AACzF,SAAS,0BAA0B,CAC/B,SAAwB,EACxB,aAAmB,EACnB,aAAmB,EACnB,cAAuB;IAEvB,IAAI,cAAc,EAAE;QAChB,MAAM,WAAW,GAAG,mCAAmC,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,aAAa,CAAC;SACxB;QAED,OAAO,iCAAiC,CACpC,SAAS,EACT,aAAa,EACb,SAAS,CAAC,4BAA4B,CAAC,WAAW,CAAC,CACtD,CAAC;KACL;IAED,8DAA8D;IAC9D,uBAAuB;IACvB,IACI,CAAC,IAAA,uBAAe,EAAC,aAAa,CAAC;QAC/B,CAAC,iBAAS,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;QAC5C,CAAC,aAAa,CAAC,kBAAkB,EACnC;QACE,OAAO,aAAa,CAAC;KACxB;IAED,iEAAiE;IACjE,qCAAqC;IACrC,MAAM,gBAAgB,GAAW,EAAE,CAAC;IACpC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACpD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YACzB,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACjC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC1C;iBAAM,IAAI,IAAA,uBAAe,EAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAA,yBAAa,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC3E,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC1C;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,aAAa,CAAC;KACxB;IAED,OAAO,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,gBAAgB,EAAE,EAAE;QACnD,gBAAgB,GAAG,SAAS,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QAC5E,IAAI,IAAA,uBAAe,EAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,YAAY,KAAK,SAAS,EAAE;YAClF,yDAAyD;YACzD,sEAAsE;YACtE,MAAM,eAAe,GAAG,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC9E,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,OAAO,IAAA,oBAAY,EACf,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CACvF,CAAC;aACL;SACJ;QAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE;YAC/D,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,mCAAmC,CAAC,aAAmB;IACnE,4FAA4F;IAC5F,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACjH,IAAI,CAAC,IAAA,uBAAe,EAAC,aAAa,CAAC,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE;QAC7F,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QACxE,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,IAAA,wBAAY,EAAC,aAAa,CAAC,IAAI,aAAa,CAAC,kBAAkB,EAAE;QACjE,WAAW,GAAG,IAAA,oBAAY,EAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KACnF;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAjBD,kFAiBC;AAED,SAAgB,iCAAiC,CAAC,SAAwB,EAAE,aAAmB,EAAE,WAAiB;IAC9G,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,MAAM,yBAAyB,GAAG,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE3E,iEAAiE;IACjE,oEAAoE;IACpE,mEAAmE;IACnE,2EAA2E;IAC3E,MAAM,kBAAkB,GAAG,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,gBAAgB,EAAE,EAAE;QACvE,MAAM,qBAAqB,GAAG,SAAS,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QAEvF,IAAI,IAAA,sBAAc,EAAC,qBAAqB,CAAC,EAAE;YACvC,SAAS,GAAG,KAAK,CAAC;YAClB,OAAO,gBAAgB,CAAC;SAC3B;QAED,2BAA2B;QAC3B,IAAI,IAAA,uBAAe,EAAC,qBAAqB,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE;YAC9F,SAAS,GAAG,KAAK,CAAC;YAClB,OAAO,gBAAgB,CAAC;SAC3B;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,qBAAqB,CAAC,EAAE;YAC1D,OAAO,gBAAgB,CAAC;SAC3B;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,EAAE;YACxE,OAAO,IAAA,uBAAW,EAAC,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE;gBAC/C,IAAI,IAAA,uBAAe,EAAC,cAAc,CAAC,IAAI,IAAA,iCAAyB,EAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE;oBAChG,OAAO,cAAc,CAAC;iBACzB;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC,CAAC;SACN;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,kEAAkE;IAClE,4DAA4D;IAC5D,iEAAiE;IACjE,wBAAwB;IACxB,MAAM,gBAAgB,GAAG,IAAA,uBAAW,EAAC,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE;QACjE,MAAM,mBAAmB,GAAG,SAAS,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;QAEnF,IAAI,IAAA,sBAAc,EAAC,mBAAmB,CAAC,EAAE;YACrC,SAAS,GAAG,KAAK,CAAC;YAClB,OAAO,aAAa,CAAC;SACxB;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE;YAC1D,OAAO,mBAAmB,CAAC;SAC9B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,CAAC,CAAC,IAAA,oBAAY,EAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAC5F,CAAC;AA3DD,8EA2DC;AAED,oEAAoE;AACpE,uBAAuB;AACvB,SAAS,yBAAyB,CAC9B,SAAwB,EACxB,aAAmB,EACnB,UAAqB,EACrB,cAAuB;IAEvB,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;;QACxD,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACjE,MAAM,OAAO,GAAG,IAAA,wCAA2B,EAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,YAAsB,CAAC,CAAC;YAE/D,IAAI,cAAc,EAAE;gBAChB,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO,SAAS,CAAC;iBACpB;gBAED,8EAA8E;gBAC9E,6DAA6D;gBAC7D,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE;oBAC1C,OAAO,OAAO,CAAC;iBAClB;gBAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAyB,MAAA,OAAO,CAAC,wBAAwB,mCAAI,EAAE,CAAC,CAAC;gBAEtG,qBAAqB;gBACrB,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,YAAsB,EAAE;oBACzD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,IAAI;iBACnB,CAAC,CAAC;gBAEH,mDAAmD;gBACnD,OAAO,iBAAS,CAAC,eAAe,CAC5B,iBAAS,CAAC,gCAAgC,CACtC,iBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,EACtC,qBAAqB,CACxB,CACJ,CAAC;aACL;iBAAM;gBACH,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;aACpG;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,2BAA2B;AAC3B,SAAgB,6CAA6C,CACzD,SAAwB,EACxB,aAAmB,EACnB,gBAA2B,EAC3B,WAAiB,EACjB,cAAuB;IAEvB,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QACxD,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACjE,MAAM,SAAS,GAAG,IAAA,wCAA2B,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAsB,CAAC,CAAC;YAEvE,IAAI,OAAO,IAAI,IAAA,gCAAoB,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACpD,IAAI,cAAc,EAAE;oBAChB,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,IAAA,4BAAgB,EAAC,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE;wBAC7C,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;4BACzD,UAAU,GAAG,IAAI,CAAC;yBACrB;oBACL,CAAC,CAAC,CAAC;oBAEH,OAAO,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC3C;qBAAM;oBACH,IAAI,aAAa,GAAG,KAAK,CAAC;oBAE1B,IAAA,4BAAgB,EAAC,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE;wBAC7C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;4BAC1D,aAAa,GAAG,IAAI,CAAC;yBACxB;oBACL,CAAC,CAAC,CAAC;oBAEH,OAAO,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC9C;aACJ;SACJ;QAED,SAAS,GAAG,KAAK,CAAC;QAClB,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;AACpD,CAAC;AA5CD,sGA4CC;AAED,SAAgB,yCAAyC,CACrD,SAAwB,EACxB,aAAmB,EACnB,gBAA2B,EAC3B,WAAiB,EACjB,cAAuB;IAEvB,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;;QACxD,IACI,IAAA,uBAAe,EAAC,OAAO,CAAC;YACxB,iBAAS,CAAC,YAAY,CAAC,OAAO,CAAC;YAC/B,CAAC,IAAA,iCAAqB,EAAC,OAAO,CAAC;YAC/B,OAAO,gBAAgB,CAAC,YAAY,KAAK,QAAQ;YACjD,IAAA,uBAAe,EAAC,WAAW,CAAC,EAC9B;YACE,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,CAAC;YACjD,IAAI,OAAO,CAAC,kBAAkB,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACjG,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,0CAAE,IAAI,CAAC;gBACpE,IAAI,cAAc,IAAI,IAAA,gCAAoB,EAAC,cAAc,CAAC,EAAE;oBACxD,IAAI,cAAc,EAAE;wBAChB,OAAO,SAAS,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;qBAClF;yBAAM;wBACH,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;qBAClF;iBACJ;aACJ;SACJ;QAED,SAAS,GAAG,KAAK,CAAC;QAClB,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;AACpD,CAAC;AAnCD,8FAmCC;AAED,uEAAuE;AACvE,uEAAuE;AACvE,iBAAiB;AACjB,SAAS,gDAAgD,CACrD,SAAwB,EACxB,aAAmB,EACnB,UAAkB,EAClB,WAAsB,EACtB,cAAuB;IAEvB,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QACxD,IAAI,UAAmC,CAAC;QAExC,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;YAC1B,UAAU,GAAG,IAAA,8BAAkB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACxD;aAAM,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,EAAE;YACrC,UAAU,GAAG,IAAA,6BAAiB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACvD;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE;YACzC,IAAI,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAEvD,gDAAgD;YAChD,0DAA0D;YAC1D,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,IAAA,uBAAe,EAAC,UAAU,CAAC,IAAI,IAAA,sBAAU,EAAC,UAAU,CAAC,EAAE;gBACnF,MAAM,UAAU,GAAG,IAAA,8BAAkB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAE1D,IAAI,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE;oBACzC,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACzD,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE;wBACjE,MAAM,gBAAgB,GAAG,oBAAY,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;wBAC3E,IAAI,gBAAgB,EAAE;4BAClB,UAAU,GAAG,gBAAgB,CAAC;yBACjC;qBACJ;iBACJ;aACJ;YAED,IAAI,IAAA,gCAAoB,EAAC,UAAU,CAAC,EAAE;gBAClC,IAAI,cAAc,EAAE;oBAChB,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC9E;qBAAM;oBACH,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;iBAC9E;aACJ;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,uEAAuE;AACvE,oEAAoE;AACpE,QAAQ;AACR,SAAS,6CAA6C,CAClD,SAAwB,EACxB,aAAmB,EACnB,UAAkB,EAClB,cAAuB;IAEvB,OAAO,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QAC1C,IAAI,UAAmC,CAAC;QACxC,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;YAC1B,UAAU,GAAG,IAAA,8BAAkB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACxD;aAAM,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,EAAE;YACrC,UAAU,GAAG,IAAA,6BAAiB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACvD;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE;YACzC,MAAM,UAAU,GAAG,SAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;YACjG,IAAI,SAAS,GAAG,IAAI,CAAC;YAErB,IAAI,cAAc,EAAE;gBAChB,IAAA,4BAAgB,EAAC,UAAU,EAAE,CAAC,aAAa,EAAE,EAAE;oBAC3C,aAAa,GAAG,SAAS,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;oBAEtE,qEAAqE;oBACrE,IAAI,IAAA,sBAAU,EAAC,aAAa,CAAC,IAAI,IAAA,qCAAyB,EAAC,aAAa,CAAC,EAAE;wBACvE,SAAS,GAAG,KAAK,CAAC;qBACrB;oBAED,IAAI,IAAA,sBAAc,EAAC,aAAa,CAAC,IAAI,IAAA,sBAAc,EAAC,aAAa,CAAC,IAAI,IAAA,eAAO,EAAC,aAAa,CAAC,EAAE;wBAC1F,SAAS,GAAG,KAAK,CAAC;qBACrB;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,SAAS,GAAG,IAAA,sBAAc,EAAC,UAAU,CAAC,CAAC;aAC1C;YAED,IAAI,SAAS,EAAE;gBACX,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,mFAAmF;AACnF,SAAS,mBAAmB,CAAC,SAAwB,EAAE,IAAU,EAAE,SAAoB,EAAE,cAAuB;IAC5G,OAAO,SAAS,CAAC,yBAAyB,CACtC,IAAI;IACJ,qBAAqB,CAAC,SAAS,EAC/B,CAAC,OAAa,EAAE,iBAAuB,EAAE,EAAE;QACvC,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,iBAAS,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3F,IAAI,cAAc,EAAE;gBAChB,IAAI,OAAO,EAAE;oBACT,IAAI,iBAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;wBAClD,OAAO,OAAO,CAAC;qBAClB;oBAED,OAAO,IAAA,8BAAkB,EAAC,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;iBACtF;gBAED,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBAC9B,OAAO,SAAS,CAAC;iBACpB;aACJ;iBAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;gBACrC,oDAAoD;gBACpD,4CAA4C;gBAC5C,IAAI,OAAO,IAAI,iBAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACvC,OAAO,SAAS,CAAC;iBACpB;gBAED,iDAAiD;gBACjD,mDAAmD;gBACnD,2CAA2C;gBAC3C,OAAO,OAAO,CAAC;aAClB;SACJ;aAAM,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;YAChC,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;SAC/C;aAAM,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;YAChC,OAAO,cAAc,CAAC,CAAC,CAAC,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC1E;QAED,OAAO,iBAAiB,CAAC;IAC7B,CAAC,CACJ,CAAC;AACN,CAAC;AAED,6EAA6E;AAC7E,0DAA0D;AAC1D,SAAS,4BAA4B,CACjC,SAAwB,EACxB,aAAmB,EACnB,SAAoB,EACpB,cAAuB;IAEvB,OAAO,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QAC1C,MAAM,eAAe,GAAG,SAAS,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAExE,IAAI,cAAc,EAAE;YAChB,IAAI,IAAA,sBAAc,EAAC,eAAe,CAAC,EAAE;gBACjC,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,IAAA,uBAAe,EAAC,eAAe,CAAC,IAAI,gBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBAClE,IAAI,iBAAS,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE;oBAC9C,OAAO,SAAS,CAAC;iBACpB;gBAED,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,IAAA,2BAAmB,EAAC,eAAe,CAAC,IAAI,iBAAS,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC5E,IACI,CAAC,iBAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,SAAS,CAAC;oBACzD,CAAC,4BAA4B,CACzB,SAAS,EACT,OAAO,EACP,eAAe,EACf,SAAS,EACT,SAAS;oBACT,qBAAqB,CAAC,KAAK,CAC9B,EACH;oBACE,OAAO,SAAS,CAAC;iBACpB;aACJ;SACJ;aAAM;YACH,IACI,IAAA,2BAAmB,EAAC,eAAe,CAAC;gBACpC,iBAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,eAAe,CAAC;gBACxD,iBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAC9B;gBACE,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,qCAAqC;AACrC,SAAS,8BAA8B,CACnC,SAAwB,EACxB,aAAmB,EACnB,WAAsB,EACtB,cAAuB,EACvB,YAAqB;IAErB,OAAO,IAAA,uBAAW,EAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QAC1C,OAAO,GAAG,SAAS,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;YACzB,IAAI,cAAc,EAAE;gBAChB,OAAO,WAAW,CAAC;aACtB;YAED,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;YACvF,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;gBACpC,MAAM,mBAAmB,GAAG,iBAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC/E,IAAI,CAAC,mBAAmB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,mBAAmB,IAAI,cAAc,CAAC,EAAE;oBACtF,OAAO,SAAS,CAAC;iBACpB;gBACD,OAAO,OAAO,CAAC;aAClB;iBAAM,IAAI,cAAc,EAAE;gBACvB,OAAO,WAAW,CAAC;aACtB;iBAAM;gBACH,yDAAyD;gBACzD,sEAAsE;gBACtE,MAAM,eAAe,GAAG,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACrE,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/C,OAAO,IAAA,oBAAY,EACf,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CACrF,CAAC;iBACL;aACJ;SACJ;aAAM,IAAI,cAAc,EAAE;YACvB,IAAI,YAAY,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;gBACzC,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,wBAAwB,CAAC,SAAwB,EAAE,IAAe;IAC9E,IAAI,iBAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;QACnC,gDAAgD;QAChD,OAAO;YACH,iBAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;YAClD,iBAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;SACtD,CAAC;KACL;IAED,IAAI,iBAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QAC7B,mDAAmD;QACnD,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE;gBACrC,MAAM,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBAC9D,IACI,IAAA,uBAAe,EAAC,UAAU,CAAC;oBAC3B,iBAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC;oBAC9C,UAAU,CAAC,YAAY,KAAK,SAAS,EACvC;oBACE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC7B;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;KACnB;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AA9BD,4DA8BC;AAED,kEAAkE;AAClE,6EAA6E;AAC7E,+EAA+E;AAC/E,qBAAqB;AACrB,SAAS,qBAAqB,CAC1B,SAAwB,EACxB,IAAU,EACV,cAAuB,EACvB,SAAyB,EACzB,kBAA2B;IAE3B,OAAO,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;QAC1F,QAAQ,OAAO,CAAC,QAAQ,EAAE;YACtB,sBAA2B;YAC3B,+BAAoC,CAAC,CAAC;gBAClC,OAAO,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;aAC/C;YAED,kBAAuB;YACvB,mBAAwB,CAAC,CAAC;gBACtB,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;aAC/C;YAED,kBAAuB,CAAC,CAAC;gBACrB,IAAI,gBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBAClC,OAAO,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC/C;gBAED,iCAAiC;gBACjC,MAAM,cAAc,GAAG,IAAA,6BAAiB,EACpC,OAAO,EACP,UAAU,gCAEb,CAAC;gBAEF,IAAI,CAAC,cAAc,EAAE;oBACjB,IAAI,CAAC,cAAc,EAAE;wBACjB,OAAO,OAAO,CAAC;qBAClB;oBAED,IAAI,kBAAkB,EAAE;wBACpB,8DAA8D;wBAC9D,8DAA8D;wBAC9D,yBAAyB;wBACzB,MAAM,SAAS,GAAG,wBAAwB,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;wBAClE,MAAM,QAAQ,GAAG,IAAA,8BAAW,EAAC,SAAS,CAAC,CAAC;wBACxC,IAAI,YAAY,GAAG,iBAAS,CAAC,kBAAkB,CAC3C,SAAS,EACT,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAC1E,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,gBAEjB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC;wBACzC,uBAAuB,CAAC,SAAS,EACjC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAClC,OAAO,CAAC,OAAO,CAAC,SAAS,CAC5B,CAAC;wBACF,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,iBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC5E,IAAA,mCAAuB,EAAC,YAAY,CAAC,CAAC;wBAEtC,YAAY,GAAG,IAAA,8BAAkB,EAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAc,CAAC;wBAEhF,0CAA0C;wBAC1C,MAAM,UAAU,GAAG,oBAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;wBACtE,MAAM,SAAS,GAAsB;4BACjC,QAAQ,gBAA0B;4BAClC,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iBAAS,CAAC,eAAe,CAAC,YAAY,CAAC;4BAC7C,eAAe,EAAE,IAAI;yBACxB,CAAC;wBACF,oBAAY,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;wBACjD,oBAAY,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;wBAC9C,UAAU,CAAC,OAAO,CAAC,kBAAkB,GAAG,mBAAW,CAAC,MAAM,EAAE,CAAC;wBAC7D,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAC3B,UAAU,EACV,eAAM,CAAC,cAAc,sBAA0B,UAAU,CAAC,CAC7D,CAAC;wBAEF,OAAO,iBAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;qBAClD;oBAED,OAAO,SAAS,CAAC;iBACpB;qBAAM;oBACH,OAAO,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;iBAC/C;aACJ;YAED,OAAO,CAAC,CAAC;gBACL,uDAAuD;gBACvD,+CAA+C;gBAC/C,OAAO,OAAO,CAAC;aAClB;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAa,MAAM;CAAG;AAAtB,wBAAsB;AACtB,MAAa,GAAI,SAAQ,MAAM;CAAG;AAAlC,kBAAkC;AAElC,MAAa,KAAK;CAAG;AAArB,sBAAqB;AACrB,MAAa,IAAK,SAAQ,KAAK;CAAG;AAAlC,oBAAkC;AAElC,SAAgB,KAAK,CAAC,GAAW;IAC7B,IAAI,GAAG,YAAY,IAAI,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACpB;SAAM;QACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACpB;AACL,CAAC;AAND,sBAMC"}
|
@@ -350,8 +350,11 @@ function printTypeInternal(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
350
350
|
for (const sourceSubtype of typeAliasSource.subtypes) {
|
351
351
|
let unionSubtypeIndex = 0;
|
352
352
|
let foundMatch = false;
|
353
|
+
const sourceSubtypeInstance = (0, typeUtils_1.convertToInstance)(sourceSubtype);
|
353
354
|
for (const unionSubtype of type.subtypes) {
|
354
|
-
if ((0, types_1.isTypeSame)(
|
355
|
+
if ((0, types_1.isTypeSame)(sourceSubtypeInstance, unionSubtype, {
|
356
|
+
typeFlagsToHonor: 2 /* Instance */ | 1 /* Instantiable */,
|
357
|
+
})) {
|
355
358
|
if (!subtypeHandledSet.has(unionSubtypeIndex)) {
|
356
359
|
allSubtypesPreviouslyHandled = false;
|
357
360
|
}
|