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

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 (159) hide show
  1. package/dist/analyzer/binder.js +9 -3
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/constructorTransform.js +12 -0
  4. package/dist/analyzer/constructorTransform.js.map +1 -1
  5. package/dist/analyzer/constructors.d.ts +1 -1
  6. package/dist/analyzer/constructors.js +1 -1
  7. package/dist/analyzer/constructors.js.map +1 -1
  8. package/dist/analyzer/decorators.d.ts +1 -1
  9. package/dist/analyzer/decorators.js.map +1 -1
  10. package/dist/analyzer/functionTransform.d.ts +5 -0
  11. package/dist/analyzer/functionTransform.js +6 -3
  12. package/dist/analyzer/functionTransform.js.map +1 -1
  13. package/dist/analyzer/missingBindingMetadata.d.ts +6 -0
  14. package/dist/analyzer/missingBindingMetadata.js +22 -0
  15. package/dist/analyzer/missingBindingMetadata.js.map +1 -0
  16. package/dist/analyzer/namedTuples.d.ts +4 -1
  17. package/dist/analyzer/namedTuples.js +1 -0
  18. package/dist/analyzer/namedTuples.js.map +1 -1
  19. package/dist/analyzer/patternMatching.d.ts +5 -1
  20. package/dist/analyzer/patternMatching.js +3 -0
  21. package/dist/analyzer/patternMatching.js.map +1 -1
  22. package/dist/analyzer/program.d.ts +3 -0
  23. package/dist/analyzer/program.js +71 -1
  24. package/dist/analyzer/program.js.map +1 -1
  25. package/dist/analyzer/tuples.d.ts +1 -1
  26. package/dist/analyzer/tuples.js.map +1 -1
  27. package/dist/analyzer/typeCacheUtils.d.ts +1 -0
  28. package/dist/analyzer/typeCacheUtils.js +10 -0
  29. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  30. package/dist/analyzer/typeEvaluator/boundMethodSpecialization.d.ts +15 -0
  31. package/dist/analyzer/typeEvaluator/boundMethodSpecialization.js +98 -0
  32. package/dist/analyzer/typeEvaluator/boundMethodSpecialization.js.map +1 -0
  33. package/dist/analyzer/typeEvaluator/classConstruction.d.ts +25 -0
  34. package/dist/analyzer/typeEvaluator/classConstruction.js +251 -0
  35. package/dist/analyzer/typeEvaluator/classConstruction.js.map +1 -0
  36. package/dist/analyzer/typeEvaluator/collectionInference.d.ts +41 -0
  37. package/dist/analyzer/typeEvaluator/collectionInference.js +695 -0
  38. package/dist/analyzer/typeEvaluator/collectionInference.js.map +1 -0
  39. package/dist/analyzer/typeEvaluator/diagnostics.d.ts +33 -0
  40. package/dist/analyzer/typeEvaluator/diagnostics.js +198 -0
  41. package/dist/analyzer/typeEvaluator/diagnostics.js.map +1 -0
  42. package/dist/analyzer/typeEvaluator/evaluatorCore.d.ts +80 -0
  43. package/dist/analyzer/typeEvaluator/evaluatorCore.js +1126 -0
  44. package/dist/analyzer/typeEvaluator/evaluatorCore.js.map +1 -0
  45. package/dist/analyzer/typeEvaluator/evaluatorNarrowing.d.ts +17 -0
  46. package/dist/analyzer/typeEvaluator/evaluatorNarrowing.js +370 -0
  47. package/dist/analyzer/typeEvaluator/evaluatorNarrowing.js.map +1 -0
  48. package/dist/analyzer/typeEvaluator/expressionEvaluation.d.ts +81 -0
  49. package/dist/analyzer/typeEvaluator/expressionEvaluation.js +1802 -0
  50. package/dist/analyzer/typeEvaluator/expressionEvaluation.js.map +1 -0
  51. package/dist/analyzer/typeEvaluator/flowAnalysis.d.ts +33 -0
  52. package/dist/analyzer/typeEvaluator/flowAnalysis.js +217 -0
  53. package/dist/analyzer/typeEvaluator/flowAnalysis.js.map +1 -0
  54. package/dist/analyzer/typeEvaluator/internals.d.ts +137 -0
  55. package/dist/analyzer/typeEvaluator/internals.js +10 -0
  56. package/dist/analyzer/typeEvaluator/internals.js.map +1 -0
  57. package/dist/analyzer/typeEvaluator/literalTypes.d.ts +3 -0
  58. package/dist/analyzer/typeEvaluator/literalTypes.js +52 -0
  59. package/dist/analyzer/typeEvaluator/literalTypes.js.map +1 -0
  60. package/dist/analyzer/typeEvaluator/memberResolution.d.ts +79 -0
  61. package/dist/analyzer/typeEvaluator/memberResolution.js +1007 -0
  62. package/dist/analyzer/typeEvaluator/memberResolution.js.map +1 -0
  63. package/dist/analyzer/typeEvaluator/overrideValidation.d.ts +15 -0
  64. package/dist/analyzer/typeEvaluator/overrideValidation.js +422 -0
  65. package/dist/analyzer/typeEvaluator/overrideValidation.js.map +1 -0
  66. package/dist/analyzer/typeEvaluator/returnTypeInference.d.ts +33 -0
  67. package/dist/analyzer/typeEvaluator/returnTypeInference.js +226 -0
  68. package/dist/analyzer/typeEvaluator/returnTypeInference.js.map +1 -0
  69. package/dist/analyzer/typeEvaluator/specialFormCreation.d.ts +39 -0
  70. package/dist/analyzer/typeEvaluator/specialFormCreation.js +1728 -0
  71. package/dist/analyzer/typeEvaluator/specialFormCreation.js.map +1 -0
  72. package/dist/analyzer/typeEvaluator/tupleUnpacking.d.ts +2 -0
  73. package/dist/analyzer/typeEvaluator/tupleUnpacking.js +36 -0
  74. package/dist/analyzer/typeEvaluator/tupleUnpacking.js.map +1 -0
  75. package/dist/analyzer/typeEvaluator/typeCompatibility.d.ts +36 -0
  76. package/dist/analyzer/typeEvaluator/typeCompatibility.js +1320 -0
  77. package/dist/analyzer/typeEvaluator/typeCompatibility.js.map +1 -0
  78. package/dist/analyzer/typeEvaluator/typeGuardNarrowing.d.ts +186 -0
  79. package/dist/analyzer/typeEvaluator/typeGuardNarrowing.js +1683 -0
  80. package/dist/analyzer/typeEvaluator/typeGuardNarrowing.js.map +1 -0
  81. package/dist/analyzer/typeEvaluator/typeVarHandling.d.ts +48 -0
  82. package/dist/analyzer/typeEvaluator/typeVarHandling.js +756 -0
  83. package/dist/analyzer/typeEvaluator/typeVarHandling.js.map +1 -0
  84. package/dist/analyzer/typeEvaluator.d.ts +3 -31
  85. package/dist/analyzer/typeEvaluator.js +5033 -13761
  86. package/dist/analyzer/typeEvaluator.js.map +1 -1
  87. package/dist/analyzer/typeGuards.d.ts +2 -2
  88. package/dist/analyzer/typeGuards.js +212 -1567
  89. package/dist/analyzer/typeGuards.js.map +1 -1
  90. package/dist/analyzer/typeUtils.js +6 -2
  91. package/dist/analyzer/typeUtils.js.map +1 -1
  92. package/dist/analyzer/typedDicts.js +111 -0
  93. package/dist/analyzer/typedDicts.js.map +1 -1
  94. package/dist/browser/browserConnection.d.ts +12 -0
  95. package/dist/browser/browserConnection.js +23 -0
  96. package/dist/browser/browserConnection.js.map +1 -0
  97. package/dist/browser/browserFileSystem.d.ts +73 -0
  98. package/dist/browser/browserFileSystem.js +578 -0
  99. package/dist/browser/browserFileSystem.js.map +1 -0
  100. package/dist/browser/browserHost.d.ts +4 -0
  101. package/dist/browser/browserHost.js +10 -0
  102. package/dist/browser/browserHost.js.map +1 -0
  103. package/dist/browser/browserProcess.d.ts +1 -0
  104. package/dist/browser/browserProcess.js +17 -0
  105. package/dist/browser/browserProcess.js.map +1 -0
  106. package/dist/browser/browserServer.d.ts +8 -0
  107. package/dist/browser/browserServer.js +32 -0
  108. package/dist/browser/browserServer.js.map +1 -0
  109. package/dist/browser/cancellation/common.d.ts +10 -0
  110. package/dist/browser/cancellation/common.js +114 -0
  111. package/dist/browser/cancellation/common.js.map +1 -0
  112. package/dist/browser/cancellation/objectURLReceiverStrategy.d.ts +5 -0
  113. package/dist/browser/cancellation/objectURLReceiverStrategy.js +37 -0
  114. package/dist/browser/cancellation/objectURLReceiverStrategy.js.map +1 -0
  115. package/dist/browser/cancellation/objectURLSenderStrategy.d.ts +7 -0
  116. package/dist/browser/cancellation/objectURLSenderStrategy.js +32 -0
  117. package/dist/browser/cancellation/objectURLSenderStrategy.js.map +1 -0
  118. package/dist/browser/worker.d.ts +1 -0
  119. package/dist/browser/worker.js +33 -0
  120. package/dist/browser/worker.js.map +1 -0
  121. package/dist/pyrightServer.d.ts +34 -0
  122. package/dist/pyrightServer.js +239 -0
  123. package/dist/pyrightServer.js.map +1 -0
  124. package/dist/server.d.ts +3 -23
  125. package/dist/server.js +12 -232
  126. package/dist/server.js.map +1 -1
  127. package/dist/tests/benchmarks/typeInferenceComparison.d.ts +1 -0
  128. package/dist/tests/benchmarks/typeInferenceComparison.js +1235 -0
  129. package/dist/tests/benchmarks/typeInferenceComparison.js.map +1 -0
  130. package/dist/tests/benchmarks/typeInferencePyrightEntry.d.ts +1 -0
  131. package/dist/tests/benchmarks/typeInferencePyrightEntry.js +53 -0
  132. package/dist/tests/benchmarks/typeInferencePyrightEntry.js.map +1 -0
  133. package/dist/tests/browserCancellation.test.d.ts +1 -0
  134. package/dist/tests/browserCancellation.test.js +63 -0
  135. package/dist/tests/browserCancellation.test.js.map +1 -0
  136. package/dist/tests/browserServer.test.d.ts +1 -0
  137. package/dist/tests/browserServer.test.js +177 -0
  138. package/dist/tests/browserServer.test.js.map +1 -0
  139. package/dist/tests/constraintSolver.test.js +45 -0
  140. package/dist/tests/constraintSolver.test.js.map +1 -1
  141. package/dist/tests/mypyPrimerAnalysis.test.js +15 -1
  142. package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
  143. package/dist/tests/typeCacheUtils.test.js +46 -0
  144. package/dist/tests/typeCacheUtils.test.js.map +1 -1
  145. package/dist/tests/typeEvaluator1.test.js +75 -0
  146. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  147. package/dist/tests/typeEvaluator3.test.js +4 -0
  148. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  149. package/dist/tests/typeEvaluator4.test.js +32 -0
  150. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  151. package/dist/tests/typeEvaluator7.test.js +394 -0
  152. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  153. package/dist/tests/typeUtils.test.js +28 -0
  154. package/dist/tests/typeUtils.test.js.map +1 -1
  155. package/dist/typeServer/stubGenerator.js +136 -3
  156. package/dist/typeServer/stubGenerator.js.map +1 -1
  157. package/dist/typeServer/typeServerConversionUtils.js +13 -0
  158. package/dist/typeServer/typeServerConversionUtils.js.map +1 -1
  159. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeInferenceComparison.js","sourceRoot":"","sources":["../../../../../../src/tests/benchmarks/typeInferenceComparison.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAA0C;AAC1C,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAyC;AAsFzC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAClC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACpC,OAAO,CAAC,GAAG,EAAE,EACb,KAAK,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,2BAA2B,CAC9B,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHpB,CAAC;AAEF,SAAS,YAAY,CAAC,IAAc;IAChC,IAAI,SAAS,GAAG,kBAAkB,CAAC;IACnC,IAAI,eAAe,GAAG,mBAAmB,CAAC;IAC1C,IAAI,aAAa,GAAG,sBAAsB,CAAC;IAC3C,IAAI,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC;IAE1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE9B,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,EAAE,CAAC;YAC7B,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,KAAK,EAAE,CAAC;YACrC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,kBAAkB,IAAI,KAAK,EAAE,CAAC;YAC7C,aAAa,GAAG,KAAK,CAAC;YACtB,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,mBAAmB,IAAI,KAAK,EAAE,CAAC;YAC9C,cAAc,GAAG,KAAK,CAAC;YACvB,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,iBAAiB,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB;IACtB,OAAO,CAAC,GAAG,CAAC;;;iFAGiE,kBAAkB;;oFAEf,sBAAsB;;;CAGzG,CAAC,CAAC;IACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,MAAM,EAAE,GAAG,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,KAAK,GAAG,EAAE,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,GAAG,uBAAuB,CAAC;IAEjD,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,SAAS;gBACnB,WAAW,EAAE,2BAA2B;gBACxC,KAAK,EAAE,CAAC,WAAW,OAAO,EAAE,CAAC;gBAC7B,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,4BAA4B;gBACzC,KAAK,EAAE,CAAC,YAAY,OAAO,KAAK,gBAAgB,GAAG,CAAC;gBACpD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,+BAA+B;gBAC5C,KAAK,EAAE,CAAC,YAAY,OAAO,MAAM,IAAI,UAAU,CAAC;gBAChD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,KAAK,EAAE,CAAC,sBAAsB,IAAI,MAAM,OAAO,IAAI,CAAC;gBACpD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,qCAAqC;gBAClD,KAAK,EAAE,CAAC,kBAAkB,OAAO,KAAK,gBAAgB,IAAI,CAAC;gBAC3D,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,6BAA6B;gBAC1C,KAAK,EAAE,CAAC,kCAAkC,OAAO,KAAK,gBAAgB,gBAAgB,CAAC;gBACvF,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,gBAAgB;gBAC7B,KAAK,EAAE;oBACH,uBAAuB,OAAO,YAAY,KAAK,GAAG,CAAC,aAAa;oBAChE,uBAAuB;oBACvB,sBAAsB;oBACtB,OAAO;oBACP,kBAAkB;iBACrB;gBACD,gBAAgB,EAAE,UAAU;aAC/B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,kCAAkC;gBAC/C,KAAK,EAAE;oBACH,wBAAwB,IAAI,GAAG;oBAC/B,uBAAuB;oBACvB,0BAA0B;oBAC1B,OAAO;oBACP,mBAAmB;iBACtB;gBACD,gBAAgB,EAAE,UAAU;aAC/B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,8BAA8B;gBAC3C,KAAK,EAAE,CAAC,WAAW,OAAO,YAAY,KAAK,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;gBAClE,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,CAAC;YACF,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,SAAS;gBACnB,WAAW,EAAE,sBAAsB;gBACnC,KAAK,EAAE,CAAC,oBAAoB,OAAO,cAAc,gBAAgB,GAAG,CAAC;gBACrE,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,kBAAkB;gBAC/B,KAAK,EAAE,CAAC,+BAA+B,OAAO,EAAE,CAAC;gBACjD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,2BAA2B;gBACxC,KAAK,EAAE;oBACH,0BAA0B,OAAO,YAAY,KAAK,GAAG,CAAC,WAAW,IAAI,GAAG;oBACxE,gCAAgC;oBAChC,+BAA+B;oBAC/B,OAAO;oBACP,2BAA2B;iBAC9B;gBACD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,2BAA2B;gBACxC,KAAK,EAAE,CAAC,2BAA2B,OAAO,MAAM,IAAI,YAAY,gBAAgB,GAAG,CAAC;gBACpF,gBAAgB,EAAE,QAAQ;aAC7B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,gCAAgC;gBAC7C,KAAK,EAAE,CAAC,8BAA8B,OAAO,KAAK,gBAAgB,IAAI,CAAC;gBACvE,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,gCAAgC;gBAC7C,KAAK,EAAE;oBACH,YAAY;oBACZ,wBAAwB;oBACxB,cAAc;oBACd,EAAE;oBACF,iBAAiB,IAAI,MAAM,OAAO,IAAI;iBACzC;gBACD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,wCAAwC;gBACrD,KAAK,EAAE;oBACH,2DAA2D;oBAC3D,4BAA4B;oBAC5B,EAAE;oBACF,sCAAsC,IAAI,OAAO,OAAO,GAAG;iBAC9D;gBACD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,4BAA4B;gBACzC,KAAK,EAAE,CAAC,oBAAoB,CAAC;gBAC7B,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,KAAK,EAAE,CAAC,gCAAgC,OAAO,GAAG,CAAC;gBACnD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,iCAAiC;gBAC9C,KAAK,EAAE;oBACH,yDAAyD;oBACzD,wBAAwB;oBACxB,EAAE;oBACF,qCAAqC;iBACxC;gBACD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,8BAA8B;gBAC3C,KAAK,EAAE,CAAC,uCAAuC,CAAC;gBAChD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,4BAA4B;gBACzC,KAAK,EAAE,CAAC,+BAA+B,CAAC;gBACxC,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,8BAA8B;gBAC3C,KAAK,EAAE,CAAC,uCAAuC,IAAI,aAAa,OAAO,GAAG,EAAE,wBAAwB,CAAC;gBACrG,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,uBAAuB;gBACpC,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,4BAA4B;gBACzC,KAAK,EAAE,CAAC,gBAAgB,OAAO,MAAM,IAAI,UAAU,CAAC;gBACpD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,gCAAgC;gBAC7C,UAAU,EAAE,wBAAwB;gBACpC,KAAK,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,CAAC;gBACnG,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,yBAAyB;gBACtC,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,CAAC,cAAc,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;gBACzE,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,qCAAqC;gBAClD,KAAK,EAAE,CAAC,gCAAgC,EAAE,aAAa,OAAO,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC;gBACzF,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,kCAAkC;gBAC/C,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,CAAC,+BAA+B,EAAE,cAAc,OAAO,EAAE,EAAE,EAAE,EAAE,2BAA2B,CAAC;gBAClG,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,4BAA4B;gBACzC,KAAK,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,CAAC;gBACtD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,6BAA6B;gBAC1C,KAAK,EAAE,CAAC,gCAAgC,CAAC;gBACzC,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN,KAAK,EAAE;YACH,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,iCAAiC;gBAC9C,KAAK,EAAE,CAAC,uBAAuB,OAAO,MAAM,IAAI,IAAI,CAAC;gBACrD,gBAAgB,EAAE,OAAO;aAC5B,CAAC;QACN;YACI,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,uBAAuB;gBACjC,WAAW,EAAE,sCAAsC;gBACnD,KAAK,EAAE,CAAC,yBAAyB,IAAI,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,iBAAiB,CAAC;gBACrG,gBAAgB,EAAE,QAAQ;aAC7B,CAAC;IACV,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IACxB,OAAO;QACH;YACI,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,cAAc;YACxB,WAAW,EAAE,qDAAqD;YAClE,KAAK,EAAE;gBACH,8BAA8B;gBAC9B,+EAA+E;aAClF;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,8CAA8C;YAC3D,KAAK,EAAE;gBACH,4CAA4C;gBAC5C,uBAAuB;gBACvB,sBAAsB;gBACtB,OAAO;gBACP,kBAAkB;gBAClB,8DAA8D;aACjE;YACD,gBAAgB,EAAE,UAAU;SAC/B;QACD;YACI,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE;gBACH,mDAAmD;gBACnD,gCAAgC;gBAChC,+BAA+B;gBAC/B,OAAO;gBACP,2BAA2B;gBAC3B,4BAA4B;gBAC5B,gEAAgE;aACnE;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,8CAA8C;YAC3D,KAAK,EAAE;gBACH,YAAY;gBACZ,wBAAwB;gBACxB,cAAc;gBACd,EAAE;gBACF,0BAA0B;gBAC1B,qFAAqF;aACxF;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,cAAc;YACxB,WAAW,EAAE,oDAAoD;YACjE,KAAK,EAAE;gBACH,2DAA2D;gBAC3D,4BAA4B;gBAC5B,EAAE;gBACF,+CAA+C;gBAC/C,wEAAwE;aAC3E;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,6BAA6B;YACjC,QAAQ,EAAE,oBAAoB;YAC9B,WAAW,EAAE,gDAAgD;YAC7D,UAAU,EAAE,mBAAmB;YAC/B,KAAK,EAAE;gBACH,WAAW;gBACX,gDAAgD;gBAChD,WAAW;gBACX,gDAAgD;gBAChD,gCAAgC;gBAChC,kBAAkB;gBAClB,EAAE;gBACF,wBAAwB;gBACxB,8CAA8C;gBAC9C,+CAA+C;gBAC/C,gDAAgD;aACnD;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,4BAA4B;YAChC,QAAQ,EAAE,mBAAmB;YAC7B,WAAW,EAAE,iDAAiD;YAC9D,UAAU,EAAE,mBAAmB;YAC/B,KAAK,EAAE;gBACH,WAAW;gBACX,yDAAyD;gBACzD,WAAW;gBACX,yDAAyD;gBACzD,gCAAgC;gBAChC,iCAAiC;gBACjC,EAAE;gBACF,wBAAwB;gBACxB,+CAA+C;gBAC/C,+CAA+C;gBAC/C,4CAA4C;aAC/C;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,gBAAgB;YAC1B,WAAW,EAAE,8CAA8C;YAC3D,KAAK,EAAE;gBACH,sDAAsD;gBACtD,+BAA+B;gBAC/B,eAAe;gBACf,kDAAkD;gBAClD,4CAA4C;aAC/C;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,8BAA8B;YAClC,QAAQ,EAAE,qBAAqB;YAC/B,WAAW,EAAE,yCAAyC;YACtD,UAAU,EAAE,+BAA+B;YAC3C,KAAK,EAAE,CAAC,yBAAyB,EAAE,2BAA2B,EAAE,OAAO,EAAE,2BAA2B,CAAC;YACrG,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,2BAA2B;YAC/B,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,8DAA8D;YAC3E,KAAK,EAAE;gBACH,6BAA6B;gBAC7B,0BAA0B;gBAC1B,6DAA6D;aAChE;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,2BAA2B;YAC/B,QAAQ,EAAE,oBAAoB;YAC9B,WAAW,EAAE,4CAA4C;YACzD,UAAU,EAAE,mBAAmB;YAC/B,KAAK,EAAE;gBACH,WAAW;gBACX,iEAAiE;gBACjE,WAAW;gBACX,iEAAiE;gBACjE,iDAAiD;gBACjD,kBAAkB;gBAClB,EAAE;gBACF,wBAAwB;gBACxB,8CAA8C;gBAC9C,+CAA+C;aAClD;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,0BAA0B;YAC9B,QAAQ,EAAE,oBAAoB;YAC9B,WAAW,EAAE,0CAA0C;YACvD,UAAU,EAAE,gCAAgC;YAC5C,KAAK,EAAE;gBACH,uBAAuB;gBACvB,wDAAwD;gBACxD,mDAAmD;gBACnD,mDAAmD;aACtD;YACD,gBAAgB,EAAE,OAAO;SAC5B;QACD;YACI,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE;gBACH,yDAAyD;gBACzD,wBAAwB;gBACxB,EAAE;gBACF,qCAAqC;gBACrC,mFAAmF;aACtF;YACD,gBAAgB,EAAE,OAAO;SAC5B;KACJ,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,cAA+B;IAChD,MAAM,MAAM,GAAa,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE/D,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CACP,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,aAAa,CAAC,EAAE,IAC3D,aAAa,CAAC,UAAU,IAAI,EAChC,YAAY,CACf,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1B,MAAM,QAAQ,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3F,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBAC7C,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBACtD,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAClE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,OAAO;QACH,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAChC,iBAAiB;QACjB,oBAAoB;QACpB,qBAAqB;KACxB,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACnC,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,oBAAoB;IACzB,OAAO,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CACf,OAAe,EACf,IAAc,EACd,GAAW;IAOX,MAAM,KAAK,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,OAAO,EAAE,IAAI,EAAE;QACpC,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;QAC3B,KAAK,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,UAAU,EAAE,wBAAW,CAAC,GAAG,EAAE,GAAG,KAAK;KACxC,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB,EAAE,aAAqB;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,UAAU,CACrB,OAAO,CAAC,QAAQ,EAChB,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAC3E,gBAAgB,CACnB,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAOtC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9C,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;KACxB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS;QAChF,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,0BAA0B,CAAC;QAChE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5F,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;KAC/B,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB,EAAE,aAAqB,EAAE,OAAe;IAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,iBAAiB,GAAG,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,SAAS,CAAC;IAC7E,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,UAAU,CACrB,OAAO,EACP;QACI,GAAG,UAAU;QACb,OAAO;QACP,UAAU;QACV,sBAAsB;QACtB,YAAY;QACZ,gBAAgB;QAChB,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;QACf,aAAa;QACb,kBAAkB;QAClB,aAAa;KAChB,EACD,gBAAgB,CACnB,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAOtC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,UAAU,CAAC,WAAW;QAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;KACxB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS;QAChF,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,wBAAwB,CAAC;QAC9D,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC;QAClF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;KAC/B,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,WAAgC,EAAE,OAAe;IACrE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAC/B,MAAM,UAAU,GAAG,IAAI;SAClB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;SACrC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,WAAW,EAAE,CAAC;IAEnB,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IAClC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE5E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;SAAM,IAAI,IAAI,KAAK,WAAW,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,SAAiB;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,SAAS,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnD,KAAK,GAAG,SAAS,CAAC;YACtB,CAAC;QACL,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAChD,KAAK,GAAG,SAAS,CAAC;QACtB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC3B,YAAY,EAAE,CAAC;QACnB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC3B,YAAY,EAAE,CAAC;QACnB,CAAC;aAAM,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACtC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IAClC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,OAAO,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CACjB,WAA+B,EAC/B,WAA+B;IAK/B,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IACvF,CAAC;IAED,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IACrF,CAAC;IAED,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;QAC5C,OAAO,kBAAkB,GAAG,kBAAkB;YAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2DAA2D,EAAE;YACnG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,2DAA2D,EAAE,CAAC;IAC5G,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;QACtC,OAAO,eAAe,GAAG,eAAe;YACpC,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,4CAA4C,EAAE;YACpF,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;IAC7F,CAAC;IAED,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,8DAA8D;KACzE,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,MAAsB,EAAE,OAAsB,EAAE,OAAsB;IACxF,MAAM,WAAW,GAAqB,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,UAA6B;IACvD,OAAO,UAAU,CAAC,QAAQ,KAAK,OAAO,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC;AAClH,CAAC;AAED,SAAS,yBAAyB,CAC9B,YAAwC,EACxC,OAAsB,EACtB,OAAsB;IAEtB,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI;QACJ,QAAQ;QACR,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAC1C,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAC/E;QACD,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAC1C,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAC/E;KACJ,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAsB,EAAE,MAAsB;IAC1E,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAC7B,CAAC,UAAU,EAAE,EAAE,CACX,oBAAoB,CAAC,UAAU,CAAC;QAChC,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QACjD,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CACzD,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACtC,OAAO,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA0B;IAClD,QAAQ,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,cAAc;YACf,OAAO,0OAA0O,CAAC;QACtP,KAAK,WAAW;YACZ,OAAO,gMAAgM,CAAC;QAC5M,KAAK,MAAM;YACP,OAAO,uQAAuQ,CAAC;QACnR,KAAK,eAAe;YAChB,OAAO,iQAAiQ,CAAC;QAC7Q,KAAK,cAAc;YACf,OAAO,iOAAiO,CAAC;QAC7O,KAAK,oBAAoB,CAAC;QAC1B,KAAK,mBAAmB;YACpB,OAAO,oOAAoO,CAAC;QAChP,KAAK,gBAAgB;YACjB,OAAO,gNAAgN,CAAC;QAC5N,KAAK,UAAU;YACX,OAAO,2LAA2L,CAAC;QACvM,KAAK,WAAW;YACZ,OAAO,oKAAoK,CAAC;QAChL,KAAK,OAAO;YACR,OAAO,yLAAyL,CAAC;QACrM,KAAK,iBAAiB;YAClB,OAAO,iMAAiM,CAAC;QAC7M;YACI,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBACxD,OAAO,qNAAqN,CAAC;YACjO,CAAC;YACD,OAAO,6LAA6L,CAAC;IAC7M,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,WAA6B;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAErD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACnC,SAAS;QACb,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;gBACd,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ;gBAC3C,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,UAAU;gBACnB,eAAe,EAAE,kBAAkB,CAAC,UAAU,CAAC;aAClD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAgC;IACzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,mBAAmB,CACxB,UAAkB,EAClB,OAAgB,EAChB,WAA6B,EAC7B,YAA2B,EAC3B,WAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GACT,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACpH,MAAM,oBAAoB,GAAG,yBAAyB,CAClD,WAAW,CAAC,MAAM,CAAC,oBAAoB,EACvC,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,OAAO,CACtB,CAAC;IACF,MAAM,qBAAqB,GAAG,yBAAyB,CACnD,WAAW,CAAC,MAAM,CAAC,qBAAqB,EACxC,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,OAAO,CACtB,CAAC;IACF,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACjH,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACjH,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAChH,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAChH,MAAM,0BAA0B,GAAG;QAC/B,GAAG,sBAAsB,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC;QACpE,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;KACrE,CAAC;IACF,MAAM,0BAA0B,GAAG;QAC/B,GAAG,sBAAsB,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC;QACpE,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;KACrE,CAAC;IACF,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC;IACtG,MAAM,UAAU,GACZ,OAAO,GAAG,CAAC,IAAI,uBAAuB,GAAG,CAAC;QACtC,CAAC,CAAC,sGAAsG;QACxG,CAAC,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,eAAe,GAAG,eAAe;YAChF,CAAC,CAAC,wJAAwJ;YAC1J,CAAC,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,eAAe,GAAG,eAAe;gBAChF,CAAC,CAAC,wJAAwJ;gBAC1J,CAAC,CAAC,SAAS,GAAG,CAAC;oBACf,CAAC,CAAC,yGAAyG;oBAC3G,CAAC,CAAC,WAAW,GAAG,WAAW;wBAC3B,CAAC,CAAC,2GAA2G;wBAC7G,CAAC,CAAC,WAAW,GAAG,WAAW;4BAC3B,CAAC,CAAC,gIAAgI;4BAClI,CAAC,CAAC,+DAA+D,CAAC;IAC1E,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACzF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAa;QACpB,iDAAiD;QACjD,EAAE;QACF,cAAc,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QACxC,EAAE;QACF,yBAAyB;QACzB,EAAE;QACF,KAAK,UAAU,IAAI;QACnB,EAAE;QACF,2VAA2V;QAC3V,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,qBAAqB;QACrB,WAAW;QACX,aAAa,OAAO,CAAC,SAAS,IAAI;QAClC,0BAA0B,uBAAuB,IAAI;QACrD,wBAAwB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI;QACrE,sBAAsB,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI;QAChE,0BAA0B,eAAe,CACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CACnE,MAAM;QACP,2BAA2B,eAAe,CACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAClE,MAAM;QACP,eAAe,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;QAChE,eAAe,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;QAChE,EAAE;QACF,YAAY;QACZ,EAAE;QACF,8BAA8B;QAC9B,gBAAgB;QAChB,kBAAkB,UAAU,sCAAsC;QAClE,gCAAgC,WAAW,sDAAsD;QACjG,gCAAgC,WAAW,sDAAsD;QACjG,gCAAgC,SAAS,kCAAkC;QAC3E,8BAA8B,OAAO,oDAAoD;QACzF,EAAE;QACF,mEAAmE;QACnE,2BAA2B;QAC3B,eAAe,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAC/E,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,MAC9E,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,MAClF,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,MACrC,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,IAAI;QAChD,eAAe,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAC/E,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,MAC9E,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,MAClF,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,MACrC,MAAM,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,IAAI;QAChD,EAAE;QACF,6GAA6G;QAC7G,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,qWAAqW;QACrW,EAAE;QACF,4CAA4C;QAC5C,sBAAsB;QACtB,8BAA8B,oBAAoB,CAAC,MAAM,MAAM,mBAAmB,MAAM,mBAAmB,IAAI;QAC/G,iCAAiC,qBAAqB,CAAC,MAAM,MAAM,eAAe,MAAM,eAAe,IAAI;QAC3G,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,6CAA6C;QAC7C,uBAAuB;KAC1B,CAAC;IAEF,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,MAAM,CACxD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAC5F,CAAC;IACF,MAAM,yBAAyB,GAAG,qBAAqB,CAAC,MAAM,CAC1D,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CACpG,CAAC;IAEF,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC,IAAI,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CACN,oBAAoB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,eAAe,CACvE,MAAM,CAAC,QAAQ,CAAC,MAAM,CACzB,QACG,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBAChC,CAAC,CAAC,WAAW,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG;gBAC/E,CAAC,CAAC,QACV,MACI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBAChC,CAAC,CAAC,WAAW,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG;gBAC/E,CAAC,CAAC,QACV,IAAI,CACP,CAAC;QACN,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,yBAAyB,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CACN,sBAAsB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,eAAe,CACzE,MAAM,CAAC,QAAQ,CAAC,MAAM,CACzB,QACG,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC;gBAClC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,aAAa,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GACtF,MACI,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC;gBAClC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,aAAa,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GACtF,IAAI,CACP,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CACN,EAAE,EACF,gCAAgC,EAChC,EAAE,EACF,4OAA4O,EAC5O,EAAE,EACF,2DAA2D,EAC3D,oBAAoB,CACvB,CAAC;IAEF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CACN,KAAK,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,MACnD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EACjC,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC,YAAY,eAAe,CACtF,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,SAAS,CAC1C,QAAQ,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CACvD,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CACN,EAAE,EACF,gBAAgB,EAChB,EAAE,EACF,2DAA2D,EAC3D,2BAA2B,CAC9B,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACJ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CACN,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE,MAAM,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MACpF,UAAU,CAAC,IACf,QAAQ,eAAe,CAAC,UAAU,CAAC,WAAW,IAAI,SAAS,CAAC,UAAU,eAAe,CACjF,UAAU,CAAC,WAAW,IAAI,SAAS,CACtC,QAAQ,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAClD,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;QACrC,CAAC,SAAS,EAAE,0BAA0B,CAAC;QACvC,CAAC,SAAS,EAAE,0BAA0B,CAAC;KACjC,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,OAAO,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,sCAAsC,EAAE,oBAAoB,CAAC,CAAC;YACzE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CACN,KAAK,UAAU,CAAC,IAAI,MAAM,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,eAAe,CAC/E,UAAU,CAAC,IAAI,IAAI,EAAE,CACxB,MAAM,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CACjD,CAAC;YACN,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CACN,yBAAyB,EACzB,EAAE,EACF,uFAAuF,EACvF,+EAA+E,EAC/E,+GAA+G,EAC/G,8FAA8F,EAC9F,iKAAiK,EACjK,qEAAqE,EACrE,mNAAmN,EACnN,EAAE,CACL,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3G,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3G,IAAI,aAAa,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,IAAI;IACT,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC;IACrG,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;IACtF,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpE,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,SAAS,uBAAuB,mBAAmB,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,aAAa,cAAc,CAAC,iBAAiB,CAAC,IAAI,wBAAwB,kBAAkB,EAAE,CAAC,CAAC;IAC5G,MAAM,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAC9F,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnG,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACjG,EAAE,CAAC,aAAa,CAAC,0BAA0B,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7E,EAAE,CAAC,aAAa,CAAC,yBAAyB,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3E,IAAI,CAAC;QACD,MAAM,YAAY,GAAkB;YAChC,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,UAAU,CAAC,0BAA0B,EAAE,OAAO,CAAC,aAAa,CAAC;YACtE,OAAO,EAAE,UAAU,CAAC,0BAA0B,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC;SACjG,CAAC;QACF,MAAM,WAAW,GAAkB;YAC/B,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,UAAU,CAAC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC;YACrE,OAAO,EAAE,UAAU,CAAC,yBAAyB,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC;SAChG,CAAC;QACF,OAAO,CAAC,GAAG,CACP,YACI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IACpE,eAAe,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CACpG,CAAC;QACF,OAAO,CAAC,GAAG,CACP,YACI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IACpE,eAAe,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CACpG,CAAC;QAEF,MAAM,WAAW,GAAG;YAChB,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;YAChF,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;SAChF,CAAC;QACF,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;YAAS,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /*
3
+ * typeInferencePyrightEntry.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ let rootDirectory = __dirname;
44
+ while (!fs.existsSync(path.join(rootDirectory, 'typeshed-fallback'))) {
45
+ const parentDirectory = path.dirname(rootDirectory);
46
+ if (parentDirectory === rootDirectory) {
47
+ throw new Error('Could not find the pyright-internal root directory');
48
+ }
49
+ rootDirectory = parentDirectory;
50
+ }
51
+ global.__rootDirectory = rootDirectory;
52
+ void import('../../pyright.js').then(({ main }) => main());
53
+ //# sourceMappingURL=typeInferencePyrightEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeInferencePyrightEntry.js","sourceRoot":"","sources":["../../../../../../src/tests/benchmarks/typeInferencePyrightEntry.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,IAAI,aAAa,GAAG,SAAS,CAAC;AAC9B,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,eAAe,KAAK,aAAa,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IACD,aAAa,GAAG,eAAe,CAAC;AACpC,CAAC;AAEA,MAAc,CAAC,eAAe,GAAG,aAAa,CAAC;AAEhD,KAAK,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const objectURLReceiverStrategy_1 = require("../browser/cancellation/objectURLReceiverStrategy");
8
+ const objectURLSenderStrategy_1 = require("../browser/cancellation/objectURLSenderStrategy");
9
+ test('revoking a request URL is observed by the synchronous cancellation token', () => {
10
+ const urls = new Set();
11
+ const create = jest.spyOn(URL, 'createObjectURL').mockImplementation(() => {
12
+ const url = `blob:request-${urls.size}`;
13
+ urls.add(url);
14
+ return url;
15
+ });
16
+ const revoke = jest.spyOn(URL, 'revokeObjectURL').mockImplementation((url) => {
17
+ urls.delete(url);
18
+ });
19
+ const descriptor = Object.getOwnPropertyDescriptor(globalThis, 'XMLHttpRequest');
20
+ Object.defineProperty(globalThis, 'XMLHttpRequest', {
21
+ configurable: true,
22
+ value: class {
23
+ constructor() {
24
+ this._url = '';
25
+ }
26
+ open(_method, url) {
27
+ this._url = url;
28
+ }
29
+ send() {
30
+ if (!urls.has(this._url)) {
31
+ throw new Error('Object URL was revoked');
32
+ }
33
+ }
34
+ },
35
+ });
36
+ const now = Date.now();
37
+ const clock = jest.spyOn(Date, 'now').mockReturnValue(now + 100);
38
+ const sender = new objectURLSenderStrategy_1.ObjectURLSenderStrategy();
39
+ const message = { jsonrpc: '2.0', id: 1, method: 'textDocument/hover' };
40
+ sender.enableCancellation(message);
41
+ const source = new objectURLReceiverStrategy_1.ObjectURLReceiverStrategy().createCancellationTokenSource(message);
42
+ try {
43
+ assert_1.default.strictEqual(source.token.isCancellationRequested, false);
44
+ sender.cleanup(1);
45
+ clock.mockReturnValue(now + 110);
46
+ assert_1.default.strictEqual(source.token.isCancellationRequested, true);
47
+ sender.cleanup(1);
48
+ assert_1.default.strictEqual(revoke.mock.calls.length, 1);
49
+ }
50
+ finally {
51
+ source.dispose();
52
+ create.mockRestore();
53
+ revoke.mockRestore();
54
+ clock.mockRestore();
55
+ if (descriptor) {
56
+ Object.defineProperty(globalThis, 'XMLHttpRequest', descriptor);
57
+ }
58
+ else {
59
+ Reflect.deleteProperty(globalThis, 'XMLHttpRequest');
60
+ }
61
+ }
62
+ });
63
+ //# sourceMappingURL=browserCancellation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserCancellation.test.js","sourceRoot":"","sources":["../../../../../src/tests/browserCancellation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const assert_1 = __importDefault(require("assert"));
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const stream_1 = require("stream");
43
+ const node_1 = require("vscode-jsonrpc/node");
44
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
45
+ const node_2 = require("vscode-languageserver/node");
46
+ const browserFileSystem_1 = require("../browser/browserFileSystem");
47
+ const browserServer_1 = require("../browser/browserServer");
48
+ const uriUtils_1 = require("../common/uri/uriUtils");
49
+ test('strict static asset reads fail rather than silently weakening type information', () => {
50
+ const descriptor = Object.getOwnPropertyDescriptor(globalThis, 'XMLHttpRequest');
51
+ Object.defineProperty(globalThis, 'XMLHttpRequest', {
52
+ configurable: true,
53
+ value: class {
54
+ constructor() {
55
+ this.status = 200;
56
+ this.responseType = '';
57
+ this.responseText = '';
58
+ }
59
+ open(_method, url) {
60
+ this.status = url.endsWith('folderIndex.json') ? 200 : 404;
61
+ }
62
+ send() {
63
+ this.responseText =
64
+ this.status === 200 ? JSON.stringify({ files: ['builtins.pyi', 'src/helper.pyi'] }) : '';
65
+ }
66
+ },
67
+ });
68
+ try {
69
+ const fileSystem = new browserFileSystem_1.BrowserFileSystem('/', ['https://browser.invalid/'], [], { throwOnReadError: true });
70
+ assert_1.default.strictEqual(fileSystem.existsSync(uriUtils_1.UriEx.file('/src/helper.pyi')), true);
71
+ assert_1.default.throws(() => fileSystem.readFileSync(uriUtils_1.UriEx.file('/builtins.pyi'), 'utf8'), /HTTP 404/);
72
+ }
73
+ finally {
74
+ if (descriptor) {
75
+ Object.defineProperty(globalThis, 'XMLHttpRequest', descriptor);
76
+ }
77
+ else {
78
+ Reflect.deleteProperty(globalThis, 'XMLHttpRequest');
79
+ }
80
+ }
81
+ });
82
+ test('browser server checks stdlib types and updates diagnostics after edits without Node host services', async () => {
83
+ const typeshed = path.resolve(__dirname, '../../typeshed-fallback');
84
+ const files = fs
85
+ .readdirSync(path.join(typeshed, 'stdlib'), { recursive: true })
86
+ .filter((entry) => typeof entry === 'string')
87
+ .filter((entry) => fs.statSync(path.join(typeshed, 'stdlib', entry)).isFile())
88
+ .map((entry) => `typeshed-fallback/stdlib/${entry.replace(/\\/g, '/')}`);
89
+ const descriptor = Object.getOwnPropertyDescriptor(globalThis, 'XMLHttpRequest');
90
+ const rootDescriptor = Object.getOwnPropertyDescriptor(globalThis, '__rootDirectory');
91
+ Object.defineProperty(globalThis, 'XMLHttpRequest', {
92
+ configurable: true,
93
+ value: class {
94
+ constructor() {
95
+ this.status = 200;
96
+ this.responseType = '';
97
+ this.responseText = '';
98
+ this._url = '';
99
+ }
100
+ open(_method, url) {
101
+ this._url = url;
102
+ }
103
+ send() {
104
+ const relative = new URL(this._url).pathname.replace('/pyright/playground/', '');
105
+ this.responseText =
106
+ relative === 'folderIndex.json'
107
+ ? JSON.stringify({ files })
108
+ : fs.readFileSync(path.join(typeshed, relative.replace('typeshed-fallback/', '')), 'utf8');
109
+ }
110
+ },
111
+ });
112
+ Object.defineProperty(globalThis, '__rootDirectory', { configurable: true, writable: true, value: '/' });
113
+ const input = new stream_1.PassThrough();
114
+ const output = new stream_1.PassThrough();
115
+ const connection = (0, node_2.createConnection)(new node_1.StreamMessageReader(input), new node_1.StreamMessageWriter(output));
116
+ const server = new browserServer_1.BrowserPyrightServer(connection, new browserFileSystem_1.BrowserFileSystem('/', ['https://browser.invalid/pyright/playground/'], []));
117
+ const client = (0, vscode_languageserver_protocol_1.createProtocolConnection)(new node_1.StreamMessageReader(output), new node_1.StreamMessageWriter(input));
118
+ const uri = 'file:///main.py';
119
+ function nextDiagnostics(version) {
120
+ return new Promise((resolve) => {
121
+ const subscription = client.onNotification(vscode_languageserver_protocol_1.PublishDiagnosticsNotification.type, (params) => {
122
+ if (params.uri === uri && params.version === version) {
123
+ subscription.dispose();
124
+ resolve(params);
125
+ }
126
+ });
127
+ });
128
+ }
129
+ client.listen();
130
+ try {
131
+ await client.sendRequest(vscode_languageserver_protocol_1.InitializeRequest.type, {
132
+ processId: null,
133
+ rootUri: null,
134
+ capabilities: { textDocument: { publishDiagnostics: { versionSupport: true } } },
135
+ });
136
+ await client.sendNotification(vscode_languageserver_protocol_1.InitializedNotification.type, {});
137
+ const source = "from pathlib import Path\nname: str = Path('example.py').name\nanswer: int = 'wrong'\n";
138
+ const initial = nextDiagnostics(1);
139
+ await client.sendNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type, {
140
+ textDocument: { uri, languageId: 'python', version: 1, text: source },
141
+ });
142
+ assert_1.default.deepStrictEqual((await initial).diagnostics.map((item) => item.code), ['reportAssignmentType']);
143
+ const edited = nextDiagnostics(2);
144
+ await client.sendNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type, {
145
+ textDocument: { uri, version: 2 },
146
+ contentChanges: [{ text: source.replace("'wrong'", '42') }],
147
+ });
148
+ assert_1.default.deepStrictEqual((await edited).diagnostics, []);
149
+ const missingImport = nextDiagnostics(3);
150
+ await client.sendNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type, {
151
+ textDocument: { uri, version: 3 },
152
+ contentChanges: [{ text: 'import definitely_missing_playground_package\n' }],
153
+ });
154
+ assert_1.default.deepStrictEqual((await missingImport).diagnostics.map((item) => item.code), ['reportMissingImports']);
155
+ await client.sendRequest(vscode_languageserver_protocol_1.ShutdownRequest.type);
156
+ }
157
+ finally {
158
+ server.dispose();
159
+ client.dispose();
160
+ connection.dispose();
161
+ input.destroy();
162
+ output.destroy();
163
+ if (descriptor) {
164
+ Object.defineProperty(globalThis, 'XMLHttpRequest', descriptor);
165
+ }
166
+ else {
167
+ Reflect.deleteProperty(globalThis, 'XMLHttpRequest');
168
+ }
169
+ if (rootDescriptor) {
170
+ Object.defineProperty(globalThis, '__rootDirectory', rootDescriptor);
171
+ }
172
+ else {
173
+ Reflect.deleteProperty(globalThis, '__rootDirectory');
174
+ }
175
+ }
176
+ }, 30000);
177
+ //# sourceMappingURL=browserServer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserServer.test.js","sourceRoot":"","sources":["../../../../../src/tests/browserServer.test.ts"],"names":[],"mappings":"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"}
@@ -36,4 +36,49 @@ test('Recursive source must satisfy the TypeVar bound without a constraint track
36
36
  assert_1.default.strictEqual(evaluator.assignType(destType, unrelatedType), false);
37
37
  assert_1.default.strictEqual(evaluator.assignType(destType, boundedType), true);
38
38
  });
39
+ test.each([
40
+ 0 /* AssignTypeFlags.Default */,
41
+ 1 /* AssignTypeFlags.Invariant */,
42
+ 2 /* AssignTypeFlags.Contravariant */,
43
+ 16 /* AssignTypeFlags.OverloadOverlap */,
44
+ ])('Equivalent TypeVar union arms retain TypeForm metadata during assignment: %s', (flags) => {
45
+ const state = (0, testState_1.parseAndGetTestState)(`
46
+ // @filename: test.py
47
+ //// def /*marker*/func(value: int) -> None: ...
48
+ `).state;
49
+ const evaluator = state.program.evaluator;
50
+ const node = (0, testState_1.getNodeAtMarker)(state, 'marker');
51
+ const functionNode = (0, parseTreeUtils_1.getEnclosingFunction)(node);
52
+ (0, assert_1.default)(functionNode);
53
+ const functionType = evaluator.getTypeOfFunction(functionNode)?.functionType;
54
+ (0, assert_1.default)(functionType);
55
+ const intType = types_1.FunctionType.getParamType(functionType, 0);
56
+ const free = types_1.TypeVarType.cloneForScopeId(types_1.TypeVarType.createInstance('T'), 'caller', 'caller', 1 /* TypeVarScopeType.Function */);
57
+ const bound = types_1.TypeVarType.cloneAsBound(free);
58
+ const unrelated = types_1.TypeVarType.cloneAsBound(types_1.TypeVarType.cloneForScopeId(types_1.TypeVarType.createInstance('T'), 'other', 'other', 1 /* TypeVarScopeType.Function */));
59
+ for (const dest of [bound, free]) {
60
+ const tagged = types_1.TypeBase.cloneWithTypeForm(dest, dest);
61
+ assert_1.default.ok((0, types_1.isTypeSame)(dest, tagged));
62
+ assert_1.default.ok(!(0, types_1.isTypeSame)(dest, tagged, { honorTypeForm: true }));
63
+ for (const gradual of [undefined, types_1.AnyType.create(), types_1.UnknownType.create()]) {
64
+ const arms = gradual ? [gradual, dest, tagged] : [dest, tagged];
65
+ for (const ordered of [arms, [...arms].reverse()]) {
66
+ const source = (0, types_1.combineTypes)(ordered);
67
+ assert_1.default.ok((0, types_1.isUnion)(source));
68
+ assert_1.default.strictEqual(source.priv.subtypes.length, arms.length);
69
+ assert_1.default.strictEqual(evaluator.assignType(dest, source, undefined, undefined, flags), true);
70
+ assert_1.default.strictEqual(tagged.props?.typeForm, dest);
71
+ assert_1.default.strictEqual(dest.props?.typeForm, undefined);
72
+ assert_1.default.strictEqual(source.priv.subtypes.length, arms.length);
73
+ }
74
+ }
75
+ }
76
+ for (const incompatible of [unrelated, intType, types_1.TypeVarType.cloneAsInstantiable(bound)]) {
77
+ const tagged = types_1.TypeBase.cloneWithTypeForm(bound, bound);
78
+ for (const gradual of [types_1.AnyType.create(), types_1.UnknownType.create()]) {
79
+ const source = (0, types_1.combineTypes)([gradual, bound, tagged, incompatible]);
80
+ assert_1.default.strictEqual(evaluator.assignType(bound, source, undefined, undefined, flags), false);
81
+ }
82
+ }
83
+ });
39
84
  //# sourceMappingURL=constraintSolver.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constraintSolver.test.js","sourceRoot":"","sources":["../../../../../src/tests/constraintSolver.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,oDAA4B;AAE5B,+DAAkE;AAClE,6CAAyE;AAEzE,6DAAsF;AAEtF,IAAI,CAAC,8EAA8E,EAAE,GAAG,EAAE;IACtF,MAAM,IAAI,GAAG;;;;;;;KAOZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAU,CAAC;IAE3C,MAAM,IAAI,GAAG,IAAA,2BAAe,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,gBAAM,EAAC,IAAI,CAAC,QAAQ,gCAAuB,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,IAAA,qCAAoB,EAAC,IAAI,CAAC,CAAC;IAChD,IAAA,gBAAM,EAAC,YAAY,EAAE,QAAQ,oCAA2B,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC7E,IAAA,gBAAM,EAAC,YAAY,CAAC,CAAC;IAErB,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnE,oBAAY,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CACjD,CAAC;IACF,IAAA,gBAAM,EAAC,IAAA,iBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,mBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9D,gBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,gBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"constraintSolver.test.js","sourceRoot":"","sources":["../../../../../src/tests/constraintSolver.test.ts"],"names":[],"mappings":"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"}
@@ -294,6 +294,19 @@ describe('mypy_primer analysis', () => {
294
294
  test('counts diagnostic records, not file headings or continuation lines', () => {
295
295
  expect((0, mypyPrimerAnalysis_1.parseDiff)(sample.replace(/\n/g, '\r\n'), 3)).toStrictEqual([{ ...expectedProject, shard: 3 }]);
296
296
  });
297
+ test('accepts diagnostics whose long paths consume the usual output indentation', () => {
298
+ const diagnostic = '...tmp/mypy_primer/projects/scikit-learn/sklearn/feature_selection/tests/' +
299
+ 'test_variance_threshold.py:36:32 - error: Cannot access attribute "shape" for class "list[Unknown]"';
300
+ const contents = [
301
+ 'scikit-learn (https://github.com/scikit-learn/scikit-learn)',
302
+ `+ ${diagnostic}`,
303
+ '+ 1 error, 0 warnings, 0 informations',
304
+ '- 0 errors, 0 warnings, 0 informations',
305
+ ].join('\n');
306
+ expect((0, mypyPrimerAnalysis_1.parseDiff)(contents, 1)[0].added).toStrictEqual([
307
+ { severity: 'error', text: diagnostic, rule: 'unspecified' },
308
+ ]);
309
+ });
297
310
  test('preserves headerless details and groups only explicitly present rules', () => {
298
311
  const projects = (0, mypyPrimerAnalysis_1.parseDiff)(detailOnlySample, 0);
299
312
  expect(projects).toStrictEqual([expectedDetailOnlyProject]);
@@ -393,7 +406,8 @@ describe('mypy_primer analysis', () => {
393
406
  const change = sample.replace(/^-.*\n/gm, '') +
394
407
  '\n- 0 errors, 0 warnings, 0 informations\n+ 1 error, 0 warnings, 0 informations';
395
408
  expect((0, mypyPrimerAnalysis_1.parseDiff)(change, 0)[0].added).toHaveLength(1);
396
- expect(() => (0, mypyPrimerAnalysis_1.parseDiff)(change.replace('+ 1 error', '+ 2 errors'), 0)).toThrow('counts');
409
+ expect((0, mypyPrimerAnalysis_1.parseDiff)(change.replace('+ 1 error', '+ 2 errors'), 0)[0].added).toHaveLength(1);
410
+ expect(() => (0, mypyPrimerAnalysis_1.parseDiff)(change.replace('+ 1 error', '+ 0 errors'), 0)).toThrow('counts');
397
411
  expect(() => (0, mypyPrimerAnalysis_1.parseDiff)(change.replace('- 0 errors, 0 warnings, 0 informations\n', ''), 0)).toThrow('Incomplete');
398
412
  });
399
413
  test('rejects malformed output instead of silently omitting projects', () => {