@zzzen/pyright-internal 1.2.0-dev.20261011 → 1.2.0-dev.20261101

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.
Files changed (144) hide show
  1. package/dist/analyzer/binder.js +28 -9
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.js +8 -3
  4. package/dist/analyzer/checker.js.map +1 -1
  5. package/dist/analyzer/codeFlowEngine.js +76 -30
  6. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  7. package/dist/analyzer/dataClasses.js +14 -5
  8. package/dist/analyzer/dataClasses.js.map +1 -1
  9. package/dist/analyzer/decorators.d.ts +1 -1
  10. package/dist/analyzer/decorators.js +22 -2
  11. package/dist/analyzer/decorators.js.map +1 -1
  12. package/dist/analyzer/namedTuples.d.ts +2 -1
  13. package/dist/analyzer/namedTuples.js +63 -35
  14. package/dist/analyzer/namedTuples.js.map +1 -1
  15. package/dist/analyzer/operations.js +45 -1
  16. package/dist/analyzer/operations.js.map +1 -1
  17. package/dist/analyzer/overloadResultAdmission.js +115 -3
  18. package/dist/analyzer/overloadResultAdmission.js.map +1 -1
  19. package/dist/analyzer/overloadResultController.js +36 -10
  20. package/dist/analyzer/overloadResultController.js.map +1 -1
  21. package/dist/analyzer/overloadResultSelector.js +32 -12
  22. package/dist/analyzer/overloadResultSelector.js.map +1 -1
  23. package/dist/analyzer/parseTreeUtils.d.ts +3 -0
  24. package/dist/analyzer/parseTreeUtils.js +56 -0
  25. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  26. package/dist/analyzer/patternMatching.js +67 -27
  27. package/dist/analyzer/patternMatching.js.map +1 -1
  28. package/dist/analyzer/program.d.ts +3 -0
  29. package/dist/analyzer/program.js +34 -9
  30. package/dist/analyzer/program.js.map +1 -1
  31. package/dist/analyzer/sentinel.js +7 -1
  32. package/dist/analyzer/sentinel.js.map +1 -1
  33. package/dist/analyzer/service.js +6 -2
  34. package/dist/analyzer/service.js.map +1 -1
  35. package/dist/analyzer/sourceEnumerator.d.ts +3 -1
  36. package/dist/analyzer/sourceEnumerator.js +30 -11
  37. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  38. package/dist/analyzer/sourceFile.js +13 -6
  39. package/dist/analyzer/sourceFile.js.map +1 -1
  40. package/dist/analyzer/sourceMapper.d.ts +1 -0
  41. package/dist/analyzer/sourceMapper.js +10 -4
  42. package/dist/analyzer/sourceMapper.js.map +1 -1
  43. package/dist/analyzer/tupleComparison.d.ts +6 -0
  44. package/dist/analyzer/tupleComparison.js +731 -0
  45. package/dist/analyzer/tupleComparison.js.map +1 -0
  46. package/dist/analyzer/tuples.js +52 -10
  47. package/dist/analyzer/tuples.js.map +1 -1
  48. package/dist/analyzer/typeEvaluator.js +508 -63
  49. package/dist/analyzer/typeEvaluator.js.map +1 -1
  50. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
  51. package/dist/analyzer/typeEvaluatorTypes.js +2 -3
  52. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  53. package/dist/analyzer/typeGuards.d.ts +6 -1
  54. package/dist/analyzer/typeGuards.js +373 -72
  55. package/dist/analyzer/typeGuards.js.map +1 -1
  56. package/dist/analyzer/typeStubRenderer.d.ts +6 -1
  57. package/dist/analyzer/typeStubRenderer.js +19 -12
  58. package/dist/analyzer/typeStubRenderer.js.map +1 -1
  59. package/dist/analyzer/typeUtils.js +3 -0
  60. package/dist/analyzer/typeUtils.js.map +1 -1
  61. package/dist/analyzer/typedDicts.d.ts +2 -1
  62. package/dist/analyzer/typedDicts.js +49 -10
  63. package/dist/analyzer/typedDicts.js.map +1 -1
  64. package/dist/analyzer/types.d.ts +14 -0
  65. package/dist/analyzer/types.js +215 -10
  66. package/dist/analyzer/types.js.map +1 -1
  67. package/dist/common/configOptions.d.ts +1 -0
  68. package/dist/common/configOptions.js +9 -0
  69. package/dist/common/configOptions.js.map +1 -1
  70. package/dist/common/processUtils.d.ts +6 -0
  71. package/dist/common/processUtils.js +56 -1
  72. package/dist/common/processUtils.js.map +1 -1
  73. package/dist/common/textEditTracker.js +1 -1
  74. package/dist/common/textEditTracker.js.map +1 -1
  75. package/dist/common/windowsProcessTree.d.ts +2 -0
  76. package/dist/common/windowsProcessTree.js +23 -0
  77. package/dist/common/windowsProcessTree.js.map +1 -1
  78. package/dist/common/windowsProcessTree.json +273 -34
  79. package/dist/languageServerBase.d.ts +3 -0
  80. package/dist/languageServerBase.js +44 -12
  81. package/dist/languageServerBase.js.map +1 -1
  82. package/dist/languageService/callHierarchyProvider.js +6 -6
  83. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  84. package/dist/languageService/referencesProvider.js +3 -3
  85. package/dist/languageService/referencesProvider.js.map +1 -1
  86. package/dist/languageService/renameProvider.js +1 -1
  87. package/dist/languageService/renameProvider.js.map +1 -1
  88. package/dist/languageService/symbolIndexer.js +2 -2
  89. package/dist/languageService/symbolIndexer.js.map +1 -1
  90. package/dist/localization/localize.d.ts +2 -0
  91. package/dist/localization/localize.js +2 -0
  92. package/dist/localization/localize.js.map +1 -1
  93. package/dist/localization/package.nls.en-us.json +8 -0
  94. package/dist/parser/parseTreeTokenReuse.d.ts +34 -0
  95. package/dist/parser/parseTreeTokenReuse.js +897 -0
  96. package/dist/parser/parseTreeTokenReuse.js.map +1 -0
  97. package/dist/parser/tokenizer.d.ts +10 -1
  98. package/dist/parser/tokenizer.js +184 -130
  99. package/dist/parser/tokenizer.js.map +1 -1
  100. package/dist/tests/checker.test.js +58 -0
  101. package/dist/tests/checker.test.js.map +1 -1
  102. package/dist/tests/config.test.js +126 -0
  103. package/dist/tests/config.test.js.map +1 -1
  104. package/dist/tests/fourSlashParser.test.js +35 -0
  105. package/dist/tests/fourSlashParser.test.js.map +1 -1
  106. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js +11 -0
  107. package/dist/tests/fourslash/hover.typedDict.get.fourslash.js.map +1 -1
  108. package/dist/tests/harness/fourslash/fourSlashParser.js +14 -4
  109. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  110. package/dist/tests/languageServer.test.js +15 -0
  111. package/dist/tests/languageServer.test.js.map +1 -1
  112. package/dist/tests/lsp/languageServer.js +6 -6
  113. package/dist/tests/lsp/languageServer.js.map +1 -1
  114. package/dist/tests/mypyPrimerAnalysis.test.js +133 -0
  115. package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
  116. package/dist/tests/overloadResultController.test.js +379 -1
  117. package/dist/tests/overloadResultController.test.js.map +1 -1
  118. package/dist/tests/signatureHelp.test.js +34 -0
  119. package/dist/tests/signatureHelp.test.js.map +1 -1
  120. package/dist/tests/sourceEnumeratorSymlink.test.js +98 -13
  121. package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -1
  122. package/dist/tests/sourceMapperUtils.test.js +143 -0
  123. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  124. package/dist/tests/typeEvaluator1.test.js +22 -3
  125. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  126. package/dist/tests/typeEvaluator2.test.js +54 -1
  127. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  128. package/dist/tests/typeEvaluator4.test.js +10 -3
  129. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  130. package/dist/tests/typeEvaluator5.test.js +1 -1
  131. package/dist/tests/typeEvaluator6.test.js +55 -0
  132. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  133. package/dist/tests/typeEvaluator7.test.js +30 -0
  134. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  135. package/dist/tests/typeEvaluator8.test.js +1293 -2
  136. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  137. package/dist/tests/types.test.js +55 -0
  138. package/dist/tests/types.test.js.map +1 -1
  139. package/dist/typeServer/programWrapper.js +8 -2
  140. package/dist/typeServer/programWrapper.js.map +1 -1
  141. package/dist/typeServer/server.d.ts +12 -2
  142. package/dist/typeServer/server.js +97 -0
  143. package/dist/typeServer/server.js.map +1 -1
  144. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,6 @@ export interface FunctionDecoratorInfo {
8
8
  }
9
9
  export declare function getFunctionInfoFromDecorators(evaluator: TypeEvaluator, node: FunctionNode, isInClass: boolean, nodeInfo: AnalyzerNodeInfoAccessor): FunctionDecoratorInfo;
10
10
  export declare function applyFunctionDecorator(evaluator: TypeEvaluator, inputFunctionType: Type, undecoratedType: FunctionType, decoratorNode: DecoratorNode, functionNode: FunctionNode, nodeInfo: AnalyzerNodeInfoAccessor): Type;
11
- export declare function applyClassDecorator(evaluator: TypeEvaluator, inputClassType: Type, originalClassType: ClassType, decoratorNode: DecoratorNode, nodeInfo: AnalyzerNodeInfoAccessor): Type;
11
+ export declare function applyClassDecorator(evaluator: TypeEvaluator, inputClassType: Type, originalClassType: ClassType, decoratorNode: DecoratorNode, nodeInfo: AnalyzerNodeInfoAccessor, isInputTypeUnknown: boolean): Type;
12
12
  export declare function addOverloadsToFunctionType(evaluator: TypeEvaluator, node: FunctionNode, type: Type, nodeInfo: AnalyzerNodeInfoAccessor): Type;
13
13
  export declare function getDeprecatedMessageFromCall(node: CallNode): string;
@@ -225,7 +225,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
225
225
  }
226
226
  return returnType;
227
227
  }
228
- function applyClassDecorator(evaluator, inputClassType, originalClassType, decoratorNode, nodeInfo) {
228
+ function applyClassDecorator(evaluator, inputClassType, originalClassType, decoratorNode, nodeInfo, isInputTypeUnknown) {
229
229
  const fileInfo = nodeInfo.getFileInfo(decoratorNode);
230
230
  let flags = fileInfo.isStubFile ? 4 /* EvalFlags.ForwardRefs */ : 0 /* EvalFlags.None */;
231
231
  if (decoratorNode.d.expr.nodeType !== 9 /* ParseNodeType.Call */) {
@@ -300,7 +300,27 @@ function applyClassDecorator(evaluator, inputClassType, originalClassType, decor
300
300
  return inputClassType;
301
301
  }
302
302
  if (types_1.FunctionType.isBuiltIn(decoratorType, 'runtime_checkable')) {
303
- originalClassType.shared.flags |= 2048 /* ClassTypeFlags.RuntimeCheckable */;
303
+ // Class decorators are applied bottom-up, so validate the class type
304
+ // that this decorator actually receives rather than the original
305
+ // (undecorated) class. If a lower decorator produced something other
306
+ // than a known class (e.g. Any, a union or type[object]), or the input
307
+ // is a recovery type retained for an Unknown result, don't report
308
+ // an error and assume it receives the class being declared.
309
+ if (!isInputTypeUnknown &&
310
+ (0, types_1.isInstantiableClass)(inputClassType) &&
311
+ !types_1.ClassType.isBuiltIn(inputClassType, 'object')) {
312
+ if (!types_1.ClassType.isProtocolClass(inputClassType)) {
313
+ evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.runtimeCheckableNotProtocol(), decoratorNode.d.expr);
314
+ }
315
+ else if (types_1.ClassType.isSameGenericClass(inputClassType, originalClassType)) {
316
+ // Only mark the class being declared. Don't mutate a different
317
+ // protocol class that a lower decorator returned.
318
+ originalClassType.shared.flags |= 2048 /* ClassTypeFlags.RuntimeCheckable */;
319
+ }
320
+ }
321
+ else {
322
+ originalClassType.shared.flags |= 2048 /* ClassTypeFlags.RuntimeCheckable */;
323
+ }
304
324
  // Don't call getTypeOfDecorator for runtime_checkable. It appears
305
325
  // frequently in stubs, and it's a waste of time to validate its
306
326
  // parameters.
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ExpressionNode } from '../parser/parseNodes';
2
2
  import { AnalyzerNodeInfoAccessor } from './analyzerNodeInfo';
3
3
  import { Arg, TypeEvaluator } from './typeEvaluatorTypes';
4
- import { ClassType, Type } from './types';
4
+ import { ClassType, FunctionType, Type } from './types';
5
5
  export declare function createNamedTupleType(evaluator: TypeEvaluator, errorNode: ExpressionNode, argList: Arg[], includesTypes: boolean, nodeInfo: AnalyzerNodeInfoAccessor): ClassType;
6
+ export declare function createNamedTupleReplaceFromDunderReplace(replaceType: FunctionType): FunctionType;
6
7
  export declare function updateNamedTupleBaseClass(classType: ClassType, typeArgs: Type[], isTypeArgExplicit: boolean): boolean;
@@ -43,9 +43,11 @@ var __importStar = (this && this.__importStar) || (function () {
43
43
  })();
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
45
  exports.createNamedTupleType = createNamedTupleType;
46
+ exports.createNamedTupleReplaceFromDunderReplace = createNamedTupleReplaceFromDunderReplace;
46
47
  exports.updateNamedTupleBaseClass = updateNamedTupleBaseClass;
47
48
  const diagnosticRules_1 = require("../common/diagnosticRules");
48
49
  const positionUtils_1 = require("../common/positionUtils");
50
+ const pythonVersion_1 = require("../common/pythonVersion");
49
51
  const textRange_1 = require("../common/textRange");
50
52
  const localize_1 = require("../localization/localize");
51
53
  const tokenizer_1 = require("../parser/tokenizer");
@@ -136,13 +138,13 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes, node
136
138
  const entries = entriesArg.valueExpression.d.strings
137
139
  .map((s) => s.d.value)
138
140
  .join('')
139
- .split(/[,\s]+/);
141
+ .split(/[,\s]+/)
142
+ .filter((entryName) => entryName.length > 0);
140
143
  const firstParamWithDefaultIndex = defaultArgCount === undefined ? 0 : Math.max(0, entries.length - defaultArgCount);
141
144
  entries.forEach((entryName, index) => {
142
145
  entryName = entryName.trim();
143
146
  if (entryName) {
144
- entryName = renameUnderscore(evaluator, entryName, allowRename, entryNameNode, index);
145
- entryName = renameKeyword(evaluator, entryName, allowRename, entryNameNode, index);
147
+ entryName = validateAndRenameField(evaluator, entryName, allowRename, entryNameNode, index, namedTupleEntries);
146
148
  const entryType = types_1.UnknownType.create();
147
149
  const paramInfo = types_1.FunctionParam.create(0 /* ParamCategory.Simple */, entryType, types_1.FunctionParamFlags.TypeDeclared, entryName, index >= firstParamWithDefaultIndex ? entryType : undefined);
148
150
  types_1.FunctionType.addParam(constructorType, paramInfo);
@@ -163,6 +165,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes, node
163
165
  };
164
166
  newSymbol.addDeclaration(declaration);
165
167
  classFields.set(entryName, newSymbol);
168
+ namedTupleEntries.add(entryName);
166
169
  entryTypes.push(entryType);
167
170
  }
168
171
  });
@@ -170,7 +173,6 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes, node
170
173
  else if (entriesArg.valueExpression?.nodeType === 34 /* ParseNodeType.List */ ||
171
174
  entriesArg.valueExpression?.nodeType === 52 /* ParseNodeType.Tuple */) {
172
175
  const entryList = entriesArg.valueExpression;
173
- const entryMap = new Map();
174
176
  const entryExpressions = entriesArg.valueExpression?.nodeType === 34 /* ParseNodeType.List */
175
177
  ? entriesArg.valueExpression.d.items
176
178
  : entriesArg.valueExpression.d.items;
@@ -201,13 +203,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes, node
201
203
  types_1.ClassType.isBuiltIn(nameTypeResult.type, 'str') &&
202
204
  (0, typeUtils_1.isLiteralType)(nameTypeResult.type)) {
203
205
  entryName = nameTypeResult.type.priv.literalValue;
204
- if (!entryName) {
205
- evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleEmptyName(), entryNameNode);
206
- }
207
- else {
208
- entryName = renameUnderscore(evaluator, entryName, allowRename, entryNameNode, index);
209
- entryName = renameKeyword(evaluator, entryName, allowRename, entryNameNode, index);
210
- }
206
+ entryName = validateAndRenameField(evaluator, entryName, allowRename, entryNameNode, index, namedTupleEntries);
211
207
  }
212
208
  else {
213
209
  addGenericGetAttribute = true;
@@ -219,11 +215,6 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes, node
219
215
  if (!entryName) {
220
216
  entryName = `_${index.toString()}`;
221
217
  }
222
- if (entryMap.has(entryName)) {
223
- evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleNameUnique(), entryNameNode || entry);
224
- }
225
- // Record names in a map to detect duplicates.
226
- entryMap.set(entryName, entryName);
227
218
  if (!entryType) {
228
219
  entryType = types_1.UnknownType.create();
229
220
  }
@@ -279,6 +270,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes, node
279
270
  initType.priv.constructorTypeVarScopeId = (0, typeUtils_1.getTypeVarScopeId)(classType);
280
271
  classFields.set('__new__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, constructorType));
281
272
  classFields.set('__init__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, initType));
273
+ synthesizeNamedTupleReplaceMethods(classFields, constructorType, selfParam, addGenericGetAttribute, fileInfo.executionEnvironment.pythonVersion);
282
274
  const lenType = types_1.FunctionType.createSynthesizedInstance('__len__');
283
275
  lenType.shared.declaredReturnType = evaluator.getBuiltInObject(errorNode, 'int');
284
276
  types_1.FunctionType.addParam(lenType, selfParam);
@@ -308,6 +300,45 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes, node
308
300
  (0, typeUtils_1.computeMroLinearization)(classType);
309
301
  return classType;
310
302
  }
303
+ function synthesizeNamedTupleReplaceMethods(classFields, constructorType, selfParam, addGenericGetAttribute, pythonVersion) {
304
+ const replaceParams = [];
305
+ if (addGenericGetAttribute) {
306
+ // The fields are unknown, so accept any keyword arguments. _replace
307
+ // is keyword-only, so don't add an *args parameter.
308
+ replaceParams.push(types_1.FunctionParam.create(2 /* ParamCategory.KwargsDict */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'kwargs'));
309
+ }
310
+ else {
311
+ // Skip the receiver (the first parameter of __new__). Fields may
312
+ // legitimately be named "self" or "cls".
313
+ constructorType.shared.parameters.slice(1).forEach((param) => {
314
+ if (!param.name || (0, types_1.isPositionOnlySeparator)(param) || (0, types_1.isKeywordOnlySeparator)(param)) {
315
+ return;
316
+ }
317
+ replaceParams.push(types_1.FunctionParam.create(param.category, param._type, param.flags, param.name, types_1.AnyType.create(/* isEllipsis */ true)));
318
+ });
319
+ }
320
+ const createReplaceMethod = (name, flags) => {
321
+ const replaceType = types_1.FunctionType.createSynthesizedInstance(name, flags);
322
+ types_1.FunctionType.addParam(replaceType, selfParam);
323
+ types_1.FunctionType.addKeywordOnlyParamSeparator(replaceType);
324
+ replaceParams.forEach((param) => types_1.FunctionType.addParam(replaceType, param));
325
+ replaceType.shared.declaredReturnType = selfParam._type;
326
+ return replaceType;
327
+ };
328
+ if (pythonVersion_1.PythonVersion.isGreaterOrEqualTo(pythonVersion, pythonVersion_1.pythonVersion3_13)) {
329
+ classFields.set('__replace__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, createReplaceMethod('__replace__', 0 /* FunctionTypeFlags.None */)));
330
+ }
331
+ // _replace is declared @final in typeshed.
332
+ classFields.set('_replace', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, createReplaceMethod('_replace', 8192 /* FunctionTypeFlags.Final */)));
333
+ }
334
+ // Creates a NamedTuple _replace method with the same signature as the
335
+ // provided synthesized __replace__ method.
336
+ function createNamedTupleReplaceFromDunderReplace(replaceType) {
337
+ const namedTupleReplaceType = types_1.FunctionType.createSynthesizedInstance('_replace', 8192 /* FunctionTypeFlags.Final */);
338
+ replaceType.shared.parameters.forEach((param) => types_1.FunctionType.addParam(namedTupleReplaceType, param));
339
+ namedTupleReplaceType.shared.declaredReturnType = replaceType.shared.declaredReturnType;
340
+ return namedTupleReplaceType;
341
+ }
311
342
  function updateNamedTupleBaseClass(classType, typeArgs, isTypeArgExplicit) {
312
343
  let isUpdateNeeded = false;
313
344
  classType.shared.baseClasses = classType.shared.baseClasses.map((baseClass) => {
@@ -341,30 +372,27 @@ function updateNamedTupleBaseClass(classType, typeArgs, isTypeArgExplicit) {
341
372
  });
342
373
  return isUpdateNeeded;
343
374
  }
344
- function renameKeyword(evaluator, name, allowRename, errorNode, index) {
345
- // Determine whether the name is a keyword in python.
375
+ function validateAndRenameField(evaluator, name, allowRename, errorNode, index, existingNames) {
346
376
  const isKeyword = tokenizer_1.Tokenizer.isPythonKeyword(name);
347
- if (!isKeyword) {
348
- // No rename necessary.
349
- return name;
350
- }
351
- if (allowRename) {
352
- // Rename based on index.
377
+ if (allowRename &&
378
+ (!name || !tokenizer_1.Tokenizer.isPythonIdentifier(name) || name.startsWith('_') || isKeyword || existingNames.has(name))) {
353
379
  return `_${index}`;
354
380
  }
355
- evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleNameKeyword(), errorNode);
356
- return name;
357
- }
358
- function renameUnderscore(evaluator, name, allowRename, errorNode, index) {
359
- if (!name.startsWith('_')) {
360
- // No rename necessary.
361
- return name;
381
+ if (!name) {
382
+ evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleEmptyName(), errorNode);
383
+ name = `_${index}`;
362
384
  }
363
- if (allowRename) {
364
- // Rename based on index.
365
- return `_${index}`;
385
+ else {
386
+ if (name.startsWith('_')) {
387
+ evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleFieldUnderscore(), errorNode);
388
+ }
389
+ if (isKeyword) {
390
+ evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleNameKeyword(), errorNode);
391
+ }
392
+ }
393
+ if (existingNames.has(name)) {
394
+ evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleNameUnique(), errorNode);
366
395
  }
367
- evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleFieldUnderscore(), errorNode);
368
396
  return name;
369
397
  }
370
398
  //# sourceMappingURL=namedTuples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CH,oDAsXC;AA8DD,4FAKC;AAED,8DA0CC;AAjhBD,+DAA2D;AAC3D,2DAAgE;AAChE,2DAA2E;AAC3E,mDAAgD;AAChD,uDAAsD;AAEtD,mDAAgD;AAGhD,iEAAmD;AACnD,2DAAmE;AACnE,qCAA+C;AAE/C,2CASqB;AACrB,mCAgBiB;AAEjB,8DAA8D;AAC9D,4CAA4C;AAE5C,SAAgB,oBAAoB,CAChC,SAAwB,EACxB,SAAyB,EACzB,OAAc,EACd,aAAsB,EACtB,QAAkC;IAElC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,YAAY,CAAC;IAC7B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,mEAAmE;IACnE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,+BAAuB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK,QAAQ,CACpF,CAAC;QAEF,IAAI,SAAS,EAAE,eAAe,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAA,gDAA4B,EAC5C,SAAS,CAAC,eAAe,EACzB,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,gBAAgB,CAC5B,CAAC;YACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,eAAe,EAAE,qBAAU,CAAC,kBAAkB,EAAE,EAAE,SAAS,CAAC,CAAC;IACxG,CAAC;SAAM,CAAC;QACJ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,WAAW,+BAAuB,EAAE,CAAC;YAC7C,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,kBAAkB,EACjC,qBAAU,CAAC,kBAAkB,EAAE,EAC/B,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAC1C,CAAC;QACN,CAAC;aAAM,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,QAAQ,sCAA6B,EAAE,CAAC;YAClG,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,uCAAuC;IACvC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAC5E,IAAI,eAAe,GAAuB,CAAC,CAAC;IAC5C,IAAI,WAAW,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;QACxF,IACI,IAAA,uBAAe,EAAC,eAAe,CAAC;YAChC,IAAA,wBAAY,EAAC,eAAe,CAAC;YAC7B,CAAC,IAAA,iCAAqB,EAAC,eAAe,CAAC;YACvC,eAAe,CAAC,IAAI,CAAC,aAAa,EACpC,CAAC;YACC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAChE,CAAC;aAAM,CAAC;YACJ,eAAe,GAAG,SAAS,CAAC;QAChC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,mBAAW,CAAC,MAAM,EAAE,CAAC;IAEhG,MAAM,SAAS,GAAG,iBAAS,CAAC,kBAAkB,CAC1C,SAAS,EACT,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAC1E,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,OAAO,oDAEhB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC;IACzC,uBAAuB,CAAC,SAAS,EACjC,IAAA,2BAAmB,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAW,CAAC,MAAM,EAAE,CACxG,CAAC;IACF,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAExF,MAAM,WAAW,GAAG,iBAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,WAAW,CAAC,GAAG,CACX,WAAW,EACX,eAAM,CAAC,cAAc,CAAC,8EAA6D,EAAE,SAAS,CAAC,CAClG,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,uCAA2B,EAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,eAAe,GAAG,oBAAY,CAAC,yBAAyB,CAAC,SAAS,8CAAsC,CAAC;IAC/G,eAAe,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAA,6BAAiB,EAAC,YAAY,CAAC,CAAC;IAC5E,eAAe,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,cAAc,CAAC,yCAAyC,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,eAAe,CAAC,MAAM,CAAC,KAAK,mDAA0C,CAAC;IAC3E,CAAC;IACD,eAAe,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;IACxE,oBAAY,CAAC,QAAQ,CACjB,eAAe,EACf,qBAAa,CAAC,MAAM,+BAAuB,YAAY,EAAE,0BAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CACnG,CAAC;IAEF,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,SAAS,GAAG,qBAAa,CAAC,MAAM,+BAElC,IAAA,uCAA2B,EAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC9D,0BAAkB,CAAC,YAAY,EAC/B,MAAM,CACT,CAAC;IAEF,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,MAAM,UAAU,GAAW,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,eAAe,EAAE,qBAAU,CAAC,mBAAmB,EAAE,EAAE,SAAS,CAAC,CAAC;QACrG,sBAAsB,GAAG,IAAI,CAAC;IAClC,CAAC;SAAM,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,UAAU,CAAC,WAAW,+BAAuB,EAAE,CAAC;YAChD,sBAAsB,GAAG,IAAI,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,IACI,CAAC,aAAa;gBACd,UAAU,CAAC,eAAe;gBAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,sCAA6B,EAClE,CAAC;gBACC,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC;gBACjD,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO;qBAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;qBACrB,IAAI,CAAC,EAAE,CAAC;qBACR,KAAK,CAAC,QAAQ,CAAC;qBACf,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjD,MAAM,0BAA0B,GAC5B,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;gBACtF,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;oBACjC,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,SAAS,EAAE,CAAC;wBACZ,SAAS,GAAG,sBAAsB,CAC9B,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,KAAK,EACL,iBAAiB,CACpB,CAAC;wBAEF,MAAM,SAAS,GAAG,mBAAW,CAAC,MAAM,EAAE,CAAC;wBACvC,MAAM,SAAS,GAAG,qBAAa,CAAC,MAAM,+BAElC,SAAS,EACT,0BAAkB,CAAC,YAAY,EAC/B,SAAS,EACT,KAAK,IAAI,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;wBAEF,oBAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;wBAClD,MAAM,SAAS,GAAG,eAAM,CAAC,cAAc,qCAA6B,SAAS,CAAC,CAAC;wBAC/E,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAE/B,0DAA0D;wBAC1D,yDAAyD;wBACzD,qDAAqD;wBACrD,+DAA+D;wBAC/D,MAAM,WAAW,GAAwB;4BACrC,IAAI,kCAA0B;4BAC9B,IAAI,EAAE,aAAa;4BACnB,uBAAuB,EAAE,IAAI;4BAC7B,GAAG,EAAE,QAAQ,CAAC,OAAO;4BACrB,KAAK,EAAE,IAAA,qCAAqB,EACxB,aAAa,CAAC,KAAK,EACnB,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAC/B,QAAQ,CAAC,KAAK,CACjB;4BACD,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,eAAe,EAAE,KAAK;yBACzB,CAAC;wBACF,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;wBACtC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;wBACtC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACjC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC/B,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,IACH,UAAU,CAAC,eAAe,EAAE,QAAQ,gCAAuB;gBAC3D,UAAU,CAAC,eAAe,EAAE,QAAQ,iCAAwB,EAC9D,CAAC;gBACC,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC;gBAC7C,MAAM,gBAAgB,GAClB,UAAU,CAAC,eAAe,EAAE,QAAQ,gCAAuB;oBACvD,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK;oBACpC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE7C,MAAM,0BAA0B,GAC5B,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;gBAE/F,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACtC,IAAI,aAAyC,CAAC;oBAC9C,IAAI,SAA2B,CAAC;oBAChC,IAAI,aAAyC,CAAC;oBAC9C,IAAI,SAAS,GAAG,EAAE,CAAC;oBAEnB,IAAI,aAAa,EAAE,CAAC;wBAChB,qDAAqD;wBACrD,IAAI,KAAK,CAAC,QAAQ,iCAAwB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvE,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACjC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACjC,SAAS,GAAG,IAAA,6BAAiB,EACzB,SAAS,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC,IAAI,CACjE,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACJ,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,kBAAkB,EACjC,qBAAU,CAAC,kBAAkB,EAAE,EAC/B,KAAK,CACR,CAAC;wBACN,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,aAAa,GAAG,KAAK,CAAC;wBACtB,SAAS,GAAG,mBAAW,CAAC,MAAM,EAAE,CAAC;oBACrC,CAAC;oBAED,IAAI,aAAa,EAAE,CAAC;wBAChB,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;wBACpE,IACI,IAAA,uBAAe,EAAC,cAAc,CAAC,IAAI,CAAC;4BACpC,iBAAS,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;4BAC/C,IAAA,yBAAa,EAAC,cAAc,CAAC,IAAI,CAAC,EACpC,CAAC;4BACC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAsB,CAAC;4BAE5D,SAAS,GAAG,sBAAsB,CAC9B,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,KAAK,EACL,iBAAiB,CACpB,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACJ,sBAAsB,GAAG,IAAI,CAAC;wBAClC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,sBAAsB,GAAG,IAAI,CAAC;oBAClC,CAAC;oBAED,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,SAAS,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACvC,CAAC;oBAED,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,SAAS,GAAG,mBAAW,CAAC,MAAM,EAAE,CAAC;oBACrC,CAAC;oBAED,MAAM,SAAS,GAAG,qBAAa,CAAC,MAAM,+BAElC,SAAS,EACT,aAAa,CAAC,CAAC,CAAC,0BAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,0BAAkB,CAAC,IAAI,EACzE,SAAS,EACT,KAAK,IAAI,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;oBAEF,oBAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;oBAClD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3B,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAE/B,MAAM,SAAS,GAAG,eAAM,CAAC,cAAc,CACnC,4EAAyD,EACzD,SAAS,CACZ,CAAC;oBACF,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,sCAA6B,EAAE,CAAC;wBACvE,MAAM,WAAW,GAAwB;4BACrC,IAAI,kCAA0B;4BAC9B,IAAI,EAAE,aAAa;4BACnB,GAAG,EAAE,QAAQ,CAAC,OAAO;4BACrB,kBAAkB,EAAE,aAAa;4BACjC,KAAK,EAAE,IAAA,qCAAqB,EACxB,aAAa,CAAC,KAAK,EACnB,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAC/B,QAAQ,CAAC,KAAK,CACjB;4BACD,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,eAAe,EAAE,KAAK;yBACzB,CAAC;wBACF,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBAC1C,CAAC;oBACD,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACtC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,yDAAyD;gBACzD,+BAA+B;gBAC/B,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACJ,sDAAsD;gBACtD,8BAA8B;gBAC9B,sBAAsB,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,IAAI,UAAU,CAAC,eAAe,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxD,0EAA0E;gBAC1E,0EAA0E;gBAC1E,kBAAkB;gBAClB,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,eAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3F,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAEvD,IAAI,sBAAsB,EAAE,CAAC;QACzB,eAAe,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvC,oBAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC/C,UAAU,CAAC,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,oBAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACpE,oBAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3C,oBAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;IAEvE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,eAAM,CAAC,cAAc,kCAA0B,eAAe,CAAC,CAAC,CAAC;IAC5F,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,eAAM,CAAC,cAAc,kCAA0B,QAAQ,CAAC,CAAC,CAAC;IAEtF,kCAAkC,CAC9B,WAAW,EACX,eAAe,EACf,SAAS,EACT,sBAAsB,EACtB,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAC9C,CAAC;IAEF,MAAM,OAAO,GAAG,oBAAY,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjF,oBAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,eAAM,CAAC,cAAc,kCAA0B,OAAO,CAAC,CAAC,CAAC;IAEpF,IAAI,sBAAsB,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,oBAAY,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;QACjF,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,eAAO,CAAC,MAAM,EAAE,CAAC;QAC3D,oBAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAChD,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAC5C,0BAAkB,CAAC,YAAY,EAC/B,MAAM,CACT,CACJ,CAAC;QACF,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,eAAM,CAAC,cAAc,kCAA0B,aAAa,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEpE,gDAAgD;IAChD,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3D,IACI,CAAC,sBAAsB;QACvB,OAAO;QACP,IAAA,2BAAmB,EAAC,OAAO,CAAC;QAC5B,cAAc;QACd,IAAA,2BAAmB,EAAC,cAAc,CAAC,EACrC,CAAC;QACC,MAAM,YAAY,GAAmB,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7D,OAAO,EAAE,IAAI,EAAE,iBAAS,CAAC,eAAe,CAAC,iBAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC9G,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,iBAAS,CAAC,eAAe,CAAC,IAAA,gCAAoB,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;QACpG,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAM,CAAC,cAAc,kCAA0B,aAAa,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,yBAAyB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAE1E,IAAA,mCAAuB,EAAC,SAAS,CAAC,CAAC;IAEnC,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,kCAAkC,CACvC,WAAgC,EAChC,eAA6B,EAC7B,SAAwB,EACxB,sBAA+B,EAC/B,aAA4B;IAE5B,MAAM,aAAa,GAAoB,EAAE,CAAC;IAE1C,IAAI,sBAAsB,EAAE,CAAC;QACzB,oEAAoE;QACpE,oDAAoD;QACpD,aAAa,CAAC,IAAI,CACd,qBAAa,CAAC,MAAM,mCAA2B,eAAO,CAAC,MAAM,EAAE,EAAE,0BAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAC9G,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,iEAAiE;QACjE,yCAAyC;QACzC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACzD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAA,+BAAuB,EAAC,KAAK,CAAC,IAAI,IAAA,8BAAsB,EAAC,KAAK,CAAC,EAAE,CAAC;gBACjF,OAAO;YACX,CAAC;YAED,aAAa,CAAC,IAAI,CACd,qBAAa,CAAC,MAAM,CAChB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,EACV,eAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACxC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,KAAwB,EAAE,EAAE;QACnE,MAAM,WAAW,GAAG,oBAAY,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxE,oBAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9C,oBAAY,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACvD,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,WAAW,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC;QACxD,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC;IAEF,IAAI,6BAAa,CAAC,kBAAkB,CAAC,aAAa,EAAE,iCAAiB,CAAC,EAAE,CAAC;QACrE,WAAW,CAAC,GAAG,CACX,aAAa,EACb,eAAM,CAAC,cAAc,kCAA0B,mBAAmB,CAAC,aAAa,iCAAyB,CAAC,CAC7G,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,WAAW,CAAC,GAAG,CACX,UAAU,EACV,eAAM,CAAC,cAAc,kCAA0B,mBAAmB,CAAC,UAAU,qCAA0B,CAAC,CAC3G,CAAC;AACN,CAAC;AAED,sEAAsE;AACtE,2CAA2C;AAC3C,SAAgB,wCAAwC,CAAC,WAAyB;IAC9E,MAAM,qBAAqB,GAAG,oBAAY,CAAC,yBAAyB,CAAC,UAAU,qCAA0B,CAAC;IAC1G,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC;IACtG,qBAAqB,CAAC,MAAM,CAAC,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACxF,OAAO,qBAAqB,CAAC;AACjC,CAAC;AAED,SAAgB,yBAAyB,CAAC,SAAoB,EAAE,QAAgB,EAAE,iBAA0B;IACxG,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC1E,IAAI,CAAC,IAAA,2BAAmB,EAAC,SAAS,CAAC,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;YACnF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAW,CAAC,MAAM,EAAE;gBACzE,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACP,CAAC;QAED,4EAA4E;QAC5E,MAAM,qBAAqB,GAAG,iBAAS,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC3G,qBAAqB,CAAC,MAAM,GAAG,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAEnE,qBAAqB,CAAC,MAAM,CAAC,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CACnF,CAAC,mBAAmB,EAAE,EAAE;YACpB,IAAI,CAAC,IAAA,2BAAmB,EAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE,CAAC;gBAClG,OAAO,mBAAmB,CAAC;YAC/B,CAAC;YAED,OAAO,IAAA,gCAAoB,EAAC,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;QACvF,CAAC,CACJ,CAAC;QAEF,IAAA,mCAAuB,EAAC,qBAAqB,CAAC,CAAC;QAE/C,cAAc,GAAG,IAAI,CAAC;QACtB,OAAO,qBAAqB,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAC3B,SAAwB,EACxB,IAAY,EACZ,WAAoB,EACpB,SAAyB,EACzB,KAAa,EACb,aAAkC;IAElC,MAAM,SAAS,GAAG,qBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAElD,IACI,WAAW;QACX,CAAC,CAAC,IAAI,IAAI,CAAC,qBAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAChH,CAAC;QACC,OAAO,IAAI,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,uBAAuB,EAAE,qBAAU,CAAC,mBAAmB,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7G,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACJ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,yBAAyB,EAAE,EACtC,SAAS,CACZ,CAAC;QACN,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACZ,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,qBAAqB,EAAE,EAClC,SAAS,CACZ,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,uBAAuB,EAAE,qBAAU,CAAC,oBAAoB,EAAE,EAAE,SAAS,CAAC,CAAC;IAClH,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}