@topce/native-preview 7.0.0-dev.20260531.1 → 7.0.0-dev.20260711.3

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 (198) hide show
  1. package/NOTICE.txt +436 -0
  2. package/README.md +3 -1
  3. package/bin/tsgo +2 -0
  4. package/dist/api/async/api.d.ts +405 -78
  5. package/dist/api/async/api.d.ts.map +1 -1
  6. package/dist/api/async/api.js +992 -169
  7. package/dist/api/async/api.js.map +1 -1
  8. package/dist/api/async/client.d.ts +17 -0
  9. package/dist/api/async/client.d.ts.map +1 -1
  10. package/dist/api/async/client.js +72 -1
  11. package/dist/api/async/client.js.map +1 -1
  12. package/dist/api/async/types.d.ts +148 -17
  13. package/dist/api/async/types.d.ts.map +1 -1
  14. package/dist/api/compilerOptions.d.ts +109 -0
  15. package/dist/api/compilerOptions.d.ts.map +1 -0
  16. package/dist/api/compilerOptions.js +2 -0
  17. package/dist/api/compilerOptions.js.map +1 -0
  18. package/dist/api/node/encoder.d.ts.map +1 -1
  19. package/dist/api/node/encoder.js +1 -18
  20. package/dist/api/node/encoder.js.map +1 -1
  21. package/dist/api/node/msgpack.d.ts.map +1 -1
  22. package/dist/api/node/msgpack.js +2 -1
  23. package/dist/api/node/msgpack.js.map +1 -1
  24. package/dist/api/node/node.d.ts +19 -6
  25. package/dist/api/node/node.d.ts.map +1 -1
  26. package/dist/api/node/node.generated.d.ts +11 -0
  27. package/dist/api/node/node.generated.d.ts.map +1 -1
  28. package/dist/api/node/node.generated.js +70 -49
  29. package/dist/api/node/node.generated.js.map +1 -1
  30. package/dist/api/node/node.infrastructure.d.ts +11 -0
  31. package/dist/api/node/node.infrastructure.d.ts.map +1 -1
  32. package/dist/api/node/node.infrastructure.js.map +1 -1
  33. package/dist/api/node/node.js +117 -20
  34. package/dist/api/node/node.js.map +1 -1
  35. package/dist/api/node/wtf8.d.ts +6 -0
  36. package/dist/api/node/wtf8.d.ts.map +1 -0
  37. package/dist/api/node/wtf8.js +61 -0
  38. package/dist/api/node/wtf8.js.map +1 -0
  39. package/dist/api/options.d.ts +8 -0
  40. package/dist/api/options.d.ts.map +1 -1
  41. package/dist/api/options.js.map +1 -1
  42. package/dist/api/proto.d.ts +111 -24
  43. package/dist/api/proto.d.ts.map +1 -1
  44. package/dist/api/proto.js +15 -0
  45. package/dist/api/proto.js.map +1 -1
  46. package/dist/api/sourceFileCache.d.ts +4 -4
  47. package/dist/api/sync/api.d.ts +405 -78
  48. package/dist/api/sync/api.d.ts.map +1 -1
  49. package/dist/api/sync/api.js +990 -167
  50. package/dist/api/sync/api.js.map +1 -1
  51. package/dist/api/sync/client.d.ts +17 -0
  52. package/dist/api/sync/client.d.ts.map +1 -1
  53. package/dist/api/sync/client.js +53 -1
  54. package/dist/api/sync/client.js.map +1 -1
  55. package/dist/api/sync/types.d.ts +148 -17
  56. package/dist/api/sync/types.d.ts.map +1 -1
  57. package/dist/api/syncChannel.d.ts +4 -1
  58. package/dist/api/syncChannel.d.ts.map +1 -1
  59. package/dist/api/syncChannel.js +21 -1
  60. package/dist/api/syncChannel.js.map +1 -1
  61. package/dist/api/timing.d.ts +175 -0
  62. package/dist/api/timing.d.ts.map +1 -0
  63. package/dist/api/timing.js +149 -0
  64. package/dist/api/timing.js.map +1 -0
  65. package/dist/ast/ast.d.ts +36 -2
  66. package/dist/ast/ast.d.ts.map +1 -1
  67. package/dist/ast/ast.generated.d.ts +3 -3
  68. package/dist/ast/ast.generated.d.ts.map +1 -1
  69. package/dist/ast/ast.js.map +1 -1
  70. package/dist/ast/factory.generated.d.ts +12 -4
  71. package/dist/ast/factory.generated.d.ts.map +1 -1
  72. package/dist/ast/factory.generated.js +36 -2
  73. package/dist/ast/factory.generated.js.map +1 -1
  74. package/dist/ast/index.d.ts +2 -0
  75. package/dist/ast/index.d.ts.map +1 -1
  76. package/dist/ast/index.js +2 -0
  77. package/dist/ast/index.js.map +1 -1
  78. package/dist/ast/is.d.ts +2 -1
  79. package/dist/ast/is.d.ts.map +1 -1
  80. package/dist/ast/is.generated.d.ts +2 -2
  81. package/dist/ast/is.generated.d.ts.map +1 -1
  82. package/dist/ast/is.generated.js +3 -4
  83. package/dist/ast/is.generated.js.map +1 -1
  84. package/dist/ast/is.js +8 -1
  85. package/dist/ast/is.js.map +1 -1
  86. package/dist/ast/jsdoc.d.ts +11 -0
  87. package/dist/ast/jsdoc.d.ts.map +1 -0
  88. package/dist/ast/jsdoc.js +202 -0
  89. package/dist/ast/jsdoc.js.map +1 -0
  90. package/dist/ast/utils.d.ts +12 -0
  91. package/dist/ast/utils.d.ts.map +1 -1
  92. package/dist/ast/utils.js +40 -0
  93. package/dist/ast/utils.js.map +1 -1
  94. package/dist/enums/characterCodes.enum.d.ts +1 -1
  95. package/dist/enums/characterCodes.enum.d.ts.map +1 -1
  96. package/dist/enums/characterCodes.enum.js.map +1 -1
  97. package/dist/enums/commentDirectiveType.enum.d.ts +1 -1
  98. package/dist/enums/commentDirectiveType.enum.d.ts.map +1 -1
  99. package/dist/enums/commentDirectiveType.enum.js.map +1 -1
  100. package/dist/enums/completionItemKind.d.ts +2 -0
  101. package/dist/enums/completionItemKind.d.ts.map +1 -0
  102. package/dist/enums/completionItemKind.enum.d.ts +28 -0
  103. package/dist/enums/completionItemKind.enum.d.ts.map +1 -0
  104. package/dist/enums/completionItemKind.enum.js +30 -0
  105. package/dist/enums/completionItemKind.enum.js.map +1 -0
  106. package/dist/enums/completionItemKind.js +30 -0
  107. package/dist/enums/completionItemKind.js.map +1 -0
  108. package/dist/enums/internalSymbolName.d.ts +2 -0
  109. package/dist/enums/internalSymbolName.d.ts.map +1 -0
  110. package/dist/enums/internalSymbolName.enum.d.ts +23 -0
  111. package/dist/enums/internalSymbolName.enum.d.ts.map +1 -0
  112. package/dist/enums/internalSymbolName.enum.js +25 -0
  113. package/dist/enums/internalSymbolName.enum.js.map +1 -0
  114. package/dist/enums/internalSymbolName.js +25 -0
  115. package/dist/enums/internalSymbolName.js.map +1 -0
  116. package/dist/enums/jsxEmit.d.ts +2 -0
  117. package/dist/enums/jsxEmit.d.ts.map +1 -0
  118. package/dist/enums/jsxEmit.enum.d.ts +9 -0
  119. package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
  120. package/dist/enums/jsxEmit.enum.js +11 -0
  121. package/dist/enums/jsxEmit.enum.js.map +1 -0
  122. package/dist/enums/jsxEmit.js +11 -0
  123. package/dist/enums/jsxEmit.js.map +1 -0
  124. package/dist/enums/languageVariant.enum.d.ts +1 -1
  125. package/dist/enums/languageVariant.enum.d.ts.map +1 -1
  126. package/dist/enums/languageVariant.enum.js.map +1 -1
  127. package/dist/enums/moduleDetectionKind.d.ts +2 -0
  128. package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
  129. package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
  130. package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
  131. package/dist/enums/moduleDetectionKind.enum.js +9 -0
  132. package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
  133. package/dist/enums/moduleDetectionKind.js +9 -0
  134. package/dist/enums/moduleDetectionKind.js.map +1 -0
  135. package/dist/enums/moduleKind.d.ts +2 -0
  136. package/dist/enums/moduleKind.d.ts.map +1 -0
  137. package/dist/enums/moduleKind.enum.d.ts +17 -0
  138. package/dist/enums/moduleKind.enum.d.ts.map +1 -0
  139. package/dist/enums/moduleKind.enum.js +19 -0
  140. package/dist/enums/moduleKind.enum.js.map +1 -0
  141. package/dist/enums/moduleKind.js +19 -0
  142. package/dist/enums/moduleKind.js.map +1 -0
  143. package/dist/enums/moduleResolutionKind.d.ts +2 -0
  144. package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
  145. package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
  146. package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
  147. package/dist/enums/moduleResolutionKind.enum.js +11 -0
  148. package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
  149. package/dist/enums/moduleResolutionKind.js +11 -0
  150. package/dist/enums/moduleResolutionKind.js.map +1 -0
  151. package/dist/enums/newLineKind.d.ts +2 -0
  152. package/dist/enums/newLineKind.d.ts.map +1 -0
  153. package/dist/enums/newLineKind.enum.d.ts +6 -0
  154. package/dist/enums/newLineKind.enum.d.ts.map +1 -0
  155. package/dist/enums/newLineKind.enum.js +8 -0
  156. package/dist/enums/newLineKind.enum.js.map +1 -0
  157. package/dist/enums/newLineKind.js +8 -0
  158. package/dist/enums/newLineKind.js.map +1 -0
  159. package/dist/enums/nodeFlags.enum.d.ts +1 -0
  160. package/dist/enums/nodeFlags.enum.d.ts.map +1 -1
  161. package/dist/enums/nodeFlags.enum.js +1 -0
  162. package/dist/enums/nodeFlags.enum.js.map +1 -1
  163. package/dist/enums/nodeFlags.js +1 -0
  164. package/dist/enums/nodeFlags.js.map +1 -1
  165. package/dist/enums/outerExpressionKinds.enum.d.ts +5 -1
  166. package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -1
  167. package/dist/enums/outerExpressionKinds.enum.js +4 -0
  168. package/dist/enums/outerExpressionKinds.enum.js.map +1 -1
  169. package/dist/enums/outerExpressionKinds.js +4 -0
  170. package/dist/enums/outerExpressionKinds.js.map +1 -1
  171. package/dist/enums/regularExpressionFlags.enum.d.ts +1 -1
  172. package/dist/enums/regularExpressionFlags.enum.d.ts.map +1 -1
  173. package/dist/enums/regularExpressionFlags.enum.js.map +1 -1
  174. package/dist/enums/scriptKind.enum.d.ts +1 -1
  175. package/dist/enums/scriptKind.enum.d.ts.map +1 -1
  176. package/dist/enums/scriptKind.enum.js.map +1 -1
  177. package/dist/enums/scriptTarget.enum.d.ts +1 -1
  178. package/dist/enums/scriptTarget.enum.d.ts.map +1 -1
  179. package/dist/enums/scriptTarget.enum.js.map +1 -1
  180. package/dist/enums/tokenFlags.enum.d.ts +1 -1
  181. package/dist/enums/tokenFlags.enum.d.ts.map +1 -1
  182. package/dist/enums/tokenFlags.enum.js.map +1 -1
  183. package/dist/internal/utils.d.ts +23 -0
  184. package/dist/internal/utils.d.ts.map +1 -0
  185. package/dist/internal/utils.js +25 -0
  186. package/dist/internal/utils.js.map +1 -0
  187. package/lib/getExePath.js +17 -4
  188. package/{bin → lib}/tsgo.js +28 -28
  189. package/lib/version.cjs +3 -0
  190. package/lib/version.d.cts +2 -0
  191. package/package.json +20 -17
  192. package/vendor/vscode-jsonrpc/License.txt +11 -0
  193. package/vendor/vscode-jsonrpc/README.md +1 -16
  194. package/vendor/vscode-jsonrpc/lib/browser/ril.js +8 -1
  195. package/vendor/vscode-jsonrpc/lib/common/connection.js +0 -1
  196. package/vendor/vscode-jsonrpc/lib/common/events.js +0 -1
  197. package/vendor/vscode-jsonrpc/lib/node/main.js +1 -1
  198. package/vendor/vscode-jsonrpc/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/async/api.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAGH,aAAa,GAMhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,UAAU,EACV,kBAAkB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,UAAU,EACV,cAAc,EACd,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAO,EACH,0BAA0B,EAC1B,MAAM,GACT,MAAM,YAAY,CAAC;AAgBpB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACH,MAAM,GAGT,MAAM,aAAa,CAAC;AA4BrB,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AAGpK,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAK1E,MAAM,OAAO,GAAG;IACJ,MAAM,CAAS;IACf,eAAe,CAAkB;IACjC,MAAM,CAA2C;IACjD,WAAW,GAAY,KAAK,CAAC;IAC7B,eAAe,GAAkB,IAAI,GAAG,EAAE,CAAC;IAC3C,cAAc,CAAuB;IAE7C,YAAY,OAA0C;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAA6B;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAqB,YAAY,EAAE,IAAI,CAAC,CAAC;YACtF,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC5F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACnD,IAAI,CAAC,MAAM,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,oBAAoB,CAAS,CAAC;YACrG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAwB;QAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAiB,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAA8E;QAC/F,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,aAAa,GAAyB,MAAM,IAAI,EAAE,CAAC;QACzD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5B,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAyB,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAEnG,wEAAwE;QACxE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5F,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CACzB,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,MAAO,EACZ,GAAG,EAAE;YACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,QAAQ,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;QACL,CAAC,CACJ,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACP,+BAA+B;QAC/B,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,yDAAyD;QACzD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,oBAAoB;QAChB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACJ;AAED,MAAM,OAAO,QAAQ;IACR,EAAE,CAAS;IACZ,UAAU,CAAqB;IAC/B,MAAM,CAA6B;IACnC,MAAM,CAAS;IACf,cAAc,CAAyB;IACvC,QAAQ,GAAY,KAAK,CAAC;IAC1B,SAAS,CAAa;IAE9B,YACI,IAA4B,EAC5B,MAAc,EACd,eAAgC,EAChC,MAAkC,EAClC,SAAqB;QAErB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAgC;YACpE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC;YAC7F,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC;YAC3F,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;SAC1E,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YACrG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAED,WAAW;QACP,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,cAAsB;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAwB;QACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAyB,0BAA0B,EAAE;YAC1F,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,IAAI;SACP,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEO,iBAAiB;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;CACJ;AAED,MAAM,OAAO,OAAO;IACP,EAAE,CAAS;IACX,cAAc,CAAS;IACvB,eAAe,CAA0B;IACzC,SAAS,CAAoB;IAE7B,OAAO,CAAU;IACjB,OAAO,CAAU;IACjB,OAAO,CAAU;IAClB,MAAM,CAAS;IAEvB,YACI,IAAqB,EACrB,UAAkB,EAClB,MAAc,EACd,cAAsC,EACtC,eAAgC,EAChC,MAAkC;QAElC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CACtB,UAAU,EACV,IAAI,CAAC,EAAE,EACP,MAAM,EACN,eAAe,EACf,MAAM,CACT,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CACtB,UAAU,EACV,IAAI,CAAC,EAAE,EACP,MAAM,EACN,cAAc,CACjB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;CACJ;AAED,MAAM,OAAO,OAAO;IACR,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,eAAe,CAAkB;IACjC,MAAM,CAA6B;IACnC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAEpC,YACI,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,eAAgC,EAChC,MAAkC;QAElC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAwB;QACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnC,oFAAoF;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzF,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,oBAAoB;QACpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE;YACnE,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI;SACP,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAElD,oFAAoF;QACpF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAA0B,CAAC;QAC3F,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,IAAyB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,yBAAyB,EAAE;YAC/E,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,IAAyB;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,wBAAwB,EAAE;YAC9E,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,IAAyB;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,0BAA0B,EAAE;YAChF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAAC,IAAyB;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,2BAA2B,EAAE;YACjF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,+BAA+B;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,iCAAiC,EAAE;YACvF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;CACJ;AAED,MAAM,OAAO,OAAO;IACR,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,cAAc,CAAyB;IAE/C,YACI,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,cAAsC;QAEtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAID,KAAK,CAAC,mBAAmB,CAAC,WAAmC;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA4B,uBAAuB,EAAE;gBAC1F,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACtD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,qBAAqB,EAAE;YACpF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,SAAS,CAAC,WAAmB,CAAC;SAC3C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAID,KAAK,CAAC,mBAAmB,CAAC,IAAwB,EAAE,mBAA+C;QAC/F,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,qBAAqB,EAAE;gBACpF,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,IAAI;gBACJ,QAAQ,EAAE,mBAAmB;aAChC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA4B,uBAAuB,EAAE;YAC1F,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI;YACJ,SAAS,EAAE,mBAAmB;SACjC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;IAID,KAAK,CAAC,eAAe,CAAC,eAA2C;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA0B,mBAAmB,EAAE;gBACpF,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,iBAAiB,EAAE;YAC9E,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,MAAM,EAAG,eAA0B,CAAC,EAAE;SACzC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAc;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,yBAAyB,EAAE;YACtF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,MAAM,EAAE,MAAM,CAAC,EAAE;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAID,KAAK,CAAC,iBAAiB,CAAC,WAAmC;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA0B,oBAAoB,EAAE;gBACrF,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACtD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,mBAAmB,EAAE;YAChF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,SAAS,CAAC,WAAmB,CAAC;SAC3C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAU,EAAE,IAAmB;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,qBAAqB,EAAE;YAClF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,IAAI;SACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAU;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA2B,sBAAsB,EAAE;YACxF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAID,KAAK,CAAC,iBAAiB,CAAC,IAAwB,EAAE,mBAA+C;QAC7F,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,mBAAmB,EAAE;gBAChF,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,IAAI;gBACJ,QAAQ,EAAE,mBAAmB;aAChC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA0B,qBAAqB,EAAE;YACtF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI;YACJ,SAAS,EAAE,mBAAmB;SACjC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,WAAW,CACb,IAAY,EACZ,OAAoB,EACpB,QAAkC,EAClC,cAAwB;QAExB,sFAAsF;QACtF,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,IAAI,QAAQ,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,aAAa,EAAE;YAC5E,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI;YACJ,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1D,IAAI,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAE,QAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC/E,QAAQ,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAE,QAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACnF,cAAc;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAgB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAgB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,mBAAmB,EAAE;YAChF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAU;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,0BAA0B,EAAE;YACvF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAU;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,oBAAoB,EAAE;YACjF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAc;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,qBAAqB,EAAE;YAClF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAU;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,gBAAgB,EAAE;YAC7E,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAoB,EAAE,KAAa;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,kBAAkB,EAAE;YAC/E,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,SAAS,EAAE,SAAS,CAAC,EAAE;YACvB,KAAK;SACR,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAU;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAU,iBAAiB,EAAE;YACtD,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,IAAU;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,mCAAmC,EAAE;YAClG,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,MAAc,EAAE,QAAc;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,2BAA2B,EAAE;YACxF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAe,MAAM,EAAE;YAC5D,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,gBAAgB;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,WAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAU,EAAE,oBAA2B,EAAE,KAAc;QACxE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpE,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,KAAK;SACR,CAAC,CAAC;QACH,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO,UAAU,CAAC,UAAU,CAAa,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,SAAoB,EAAE,IAAgB,EAAE,oBAA2B,EAAE,KAAwB;QAC/H,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,iCAAiC,EAAE;YACrF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,SAAS,EAAE,SAAS,CAAC,EAAE;YACvB,IAAI;YACJ,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,KAAK;SACR,CAAC,CAAC;QACH,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO,UAAU,CAAC,UAAU,CAAS,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU,EAAE,oBAA2B,EAAE,KAAc;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAS,cAAc,EAAE;YAClD,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5E,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAU;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAU,oBAAoB,EAAE;YACzD,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,SAAoB;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,0BAA0B,EAAE;YACvF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,SAAS,EAAE,SAAS,CAAC,EAAE;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAoB;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,wBAAwB,EAAE;YACrF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,SAAS,EAAE,SAAS,CAAC,EAAE;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,SAAoB;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA+B,6BAA6B,EAAE;YACnG,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,SAAS,EAAE,SAAS,CAAC,EAAE;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,cAAc,EAAE;YAC7E,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAU;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA0B,qBAAqB,EAAE;YACtF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAU;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA6B,qBAAqB,EAAE;YACzF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YACvD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK;SACpC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAU;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,8BAA8B,EAAE;YAC3F,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAU;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,kBAAkB,EAAE;YACjF,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;CACJ;AAQD,MAAM,OAAO,OAAO;IACR,MAAM,CAAS;IAEvB,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAU,EAAE,UAA4B,EAAE;QACtD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAS,WAAW,EAAE;YAC/C,IAAI,EAAE,MAAM;YACZ,GAAG,OAAO;SACb,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,OAAO,UAAU;IACV,IAAI,CAAa;IACjB,GAAG,CAAS;IACZ,GAAG,CAAS;IACZ,IAAI,CAAO;IAEpB,YAAY,MAAc;QACtB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,OAAgB;QAC1B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,kEAAkE;QAClE,OAAO,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;CACJ;AAED,MAAM,OAAO,MAAM;IACP,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,cAAc,CAAyB;IAEtC,EAAE,CAAS;IACX,IAAI,CAAS;IACb,KAAK,CAAc;IACnB,UAAU,CAAS;IACnB,YAAY,CAAwB;IACpC,gBAAgB,CAAyB;IAElD,YAAY,IAAoB,EAAE,MAAc,EAAE,UAAkB,EAAE,cAAsC;QACxG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA0B,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACzI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAA0B,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACzI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAiB,yBAAyB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CACJ;AAED,MAAM,UAAU;IACJ,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,cAAc,CAAyB;IAEtC,EAAE,CAAS;IACX,KAAK,CAAY;IACjB,WAAW,CAAe;IAC1B,KAAK,CAA6B;IAClC,MAAM,CAAU;IAChB,cAAc,CAAqB;IACnC,mBAAmB,CAAqB;IACxC,mBAAmB,CAAqB;IACxC,YAAY,CAA2B;IACvC,WAAW,CAAU;IACrB,QAAQ,CAAW;IACnB,KAAK,CAAqB;IAC1B,UAAU,CAAU;IACpB,SAAS,CAAU;IACnB,SAAS,CAAU;IACnB,WAAW,CAAU;IACrB,QAAQ,CAAU;IAClB,eAAe,CAAU;IAElC,YAAY,IAAkB,EAAE,MAAc,EAAE,UAAkB,EAAE,cAAsC;QACtG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjF,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS;YAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAChG,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS;YAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAChG,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC3E,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/D,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACtD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACrE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/D,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAA0B,EAAE,MAAc;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,MAAM;YAAE,OAAO,MAAc,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAsB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,2BAA2B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAS,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAwB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACvH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;CACJ;AAED,MAAM,OAAO,SAAS;IACV,KAAK,CAAS;IACb,EAAE,CAAS;IACX,WAAW,CAA0B;IACrC,cAAc,CAA+B;IAC7C,UAAU,CAAoB;IAC9B,aAAa,CAAsB;IACnC,MAAM,CAAyB;IAExC,YAAY,IAAuB,EAAE,cAAsC;QACvE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACvD,OAAO,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC/C,OAAO,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;YACnC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACjG,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;YACrB,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACpE,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,WAAW;QACX,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,UAAU;QACV,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;CACJ"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/async/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type ClientOptions, type ClientSocketOptions, type ClientSpawnOptions } from "../options.ts";
2
+ import { TimingCollector, type TimingInfo } from "../timing.ts";
2
3
  export type { ClientOptions, ClientSocketOptions, ClientSpawnOptions };
3
4
  /**
4
5
  * Client handles communication with the TypeScript API server
@@ -10,6 +11,7 @@ export declare class Client {
10
11
  private connection;
11
12
  private options;
12
13
  private connected;
14
+ private timing;
13
15
  constructor(options: ClientOptions);
14
16
  connect(): Promise<void>;
15
17
  private connectViaSpawn;
@@ -17,6 +19,21 @@ export declare class Client {
17
19
  private registerFSCallbacks;
18
20
  apiRequest<T>(method: string, params?: unknown): Promise<T>;
19
21
  apiRequestBinary(method: string, params?: unknown): Promise<Uint8Array | undefined>;
22
+ /**
23
+ * Returns the timing collector that per-node materialization is reported
24
+ * into, or undefined when timing collection is disabled. The returned
25
+ * collector is the same one folded into {@link getTimingInfo}, so
26
+ * materialization totals surface alongside request timings.
27
+ */
28
+ getTimingCollector(): TimingCollector | undefined;
29
+ /**
30
+ * Returns a combined timing snapshot: client-measured round-trip and byte
31
+ * counts folded together with the server's own per-request processing time
32
+ * (fetched via a getServerTiming request) and estimated transport overhead.
33
+ */
34
+ getTimingInfo(): Promise<TimingInfo>;
35
+ resetTimingInfo(): Promise<void>;
36
+ private fetchServerTiming;
20
37
  close(): Promise<void>;
21
38
  }
22
39
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/async/client.ts"],"names":[],"mappings":"AAeA,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAG1B,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AAEvE;;;GAGG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,aAAa;IAI5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAWhB,eAAe;YA6Cf,gBAAgB;IAmB9B,OAAO,CAAC,mBAAmB;IAoBrB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAY3D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAOnF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB/B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/async/client.ts"],"names":[],"mappings":"AAeA,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAG1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAKH,eAAe,EACf,KAAK,UAAU,EAClB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AAEvE;;;GAGG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAA8B;gBAEhC,OAAO,EAAE,aAAa;IAO5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAWhB,eAAe;YAiDf,gBAAgB;IAmB9B,OAAO,CAAC,mBAAmB;IAoBrB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAgC3D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAOzF;;;;;OAKG;IACH,kBAAkB,IAAI,eAAe,GAAG,SAAS;IAIjD;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAYpC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAUxB,iBAAiB;IAUzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB/B"}
@@ -1,6 +1,7 @@
1
1
  import { createMessageConnection, RequestType, SocketMessageReader, SocketMessageWriter, StreamMessageReader, StreamMessageWriter, } from "#vscode-jsonrpc/node";
2
2
  import { fsCallbackNames, } from "../fs.js";
3
3
  import { isSpawnOptions, resolveExePath, } from "../options.js";
4
+ import { combineTimingInfo, disabledServerTimingInfo, disabledTimingInfo, TimingCollector, } from "../timing.js";
4
5
  /**
5
6
  * Client handles communication with the TypeScript API server
6
7
  * over STDIO (spawned process) or a Unix domain socket using JSON-RPC.
@@ -11,8 +12,12 @@ export class Client {
11
12
  connection;
12
13
  options;
13
14
  connected = false;
15
+ timing;
14
16
  constructor(options) {
15
17
  this.options = options;
18
+ if (isSpawnOptions(options) && options.collectTiming) {
19
+ this.timing = new TimingCollector();
20
+ }
16
21
  }
17
22
  async connect() {
18
23
  if (this.connected)
@@ -33,6 +38,9 @@ export class Client {
33
38
  "--cwd",
34
39
  options.cwd ?? process.cwd(),
35
40
  ];
41
+ if (options.collectTiming) {
42
+ args.push("--timing");
43
+ }
36
44
  // Enable virtual FS callbacks for each provided FS function
37
45
  const enabledCallbacks = [];
38
46
  if (options.fs) {
@@ -107,7 +115,26 @@ export class Client {
107
115
  throw new Error("Connection not established");
108
116
  }
109
117
  const requestType = new RequestType(method);
110
- return this.connection.sendRequest(requestType, params);
118
+ if (!this.timing) {
119
+ return this.connection.sendRequest(requestType, params);
120
+ }
121
+ // Round-trip latency is measured here; byte counts approximate the wire
122
+ // payload via the serialized JSON. Server-side processing time is not
123
+ // carried on the response; it is retrieved separately (via a
124
+ // getServerTiming request) and folded in by getTimingInfo().
125
+ const bytesSent = params === undefined ? 0 : Buffer.byteLength(JSON.stringify(params), "utf-8");
126
+ const start = performance.now();
127
+ const result = await this.connection.sendRequest(requestType, params);
128
+ const roundTripMs = performance.now() - start;
129
+ this.timing.record({
130
+ method,
131
+ roundTripMs,
132
+ bytesSent,
133
+ bytesReceived: result === undefined || result === null
134
+ ? 0
135
+ : Buffer.byteLength(JSON.stringify(result), "utf-8"),
136
+ });
137
+ return result;
111
138
  }
112
139
  async apiRequestBinary(method, params) {
113
140
  const response = await this.apiRequest(method, params);
@@ -116,6 +143,50 @@ export class Client {
116
143
  const buffer = Buffer.from(response.data, "base64");
117
144
  return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
118
145
  }
146
+ /**
147
+ * Returns the timing collector that per-node materialization is reported
148
+ * into, or undefined when timing collection is disabled. The returned
149
+ * collector is the same one folded into {@link getTimingInfo}, so
150
+ * materialization totals surface alongside request timings.
151
+ */
152
+ getTimingCollector() {
153
+ return this.timing;
154
+ }
155
+ /**
156
+ * Returns a combined timing snapshot: client-measured round-trip and byte
157
+ * counts folded together with the server's own per-request processing time
158
+ * (fetched via a getServerTiming request) and estimated transport overhead.
159
+ */
160
+ async getTimingInfo() {
161
+ if (!this.timing) {
162
+ return disabledTimingInfo();
163
+ }
164
+ const local = this.timing.getInfo();
165
+ // No requests have been sent yet: nothing to fetch from the server.
166
+ if (!this.connected || !this.connection) {
167
+ return local;
168
+ }
169
+ return combineTimingInfo(local, await this.fetchServerTiming());
170
+ }
171
+ async resetTimingInfo() {
172
+ if (!this.timing)
173
+ return;
174
+ this.timing.reset();
175
+ if (this.connected && this.connection) {
176
+ // Keep the server's collection in sync so combined totals stay meaningful.
177
+ const requestType = new RequestType("resetServerTiming");
178
+ await this.connection.sendRequest(requestType, undefined);
179
+ }
180
+ }
181
+ async fetchServerTiming() {
182
+ if (!this.connection) {
183
+ return disabledServerTimingInfo();
184
+ }
185
+ // Fetch the server's own timing collection via a dedicated request. This
186
+ // bypasses the client-side collector so the query does not pollute it.
187
+ const requestType = new RequestType("getServerTiming");
188
+ return this.connection.sendRequest(requestType, undefined);
189
+ }
119
190
  async close() {
120
191
  if (this.connection) {
121
192
  this.connection.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/async/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/async/client.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
+ import type { CompletionItemKind } from "#enums/completionItemKind";
1
2
  import type { DiagnosticCategory } from "#enums/diagnosticCategory";
2
3
  import type { ElementFlags } from "#enums/elementFlags";
3
4
  import type { ObjectFlags } from "#enums/objectFlags";
4
5
  import type { TypeFlags } from "#enums/typeFlags";
5
6
  import type { TypePredicateKind } from "#enums/typePredicateKind";
6
- import type { Symbol } from "./api.ts";
7
+ import type { NodeHandle, Symbol } from "./api.ts";
7
8
  /**
8
9
  * A TypeScript type.
9
10
  *
@@ -12,26 +13,107 @@ import type { Symbol } from "./api.ts";
12
13
  *
13
14
  * ```ts
14
15
  * if (type.flags & TypeFlags.StringLiteral) {
15
- * console.log((type as LiteralType).value); // string
16
+ * console.log((type as StringLiteralType).value); // string
16
17
  * }
17
18
  * ```
18
19
  */
19
20
  export interface Type {
20
- /** Unique identifier for this type */
21
- readonly id: string;
22
- /** Type flags — use to determine the specific kind of type */
21
+ /** Type flags use to determine the specific kind of type. */
23
22
  readonly flags: TypeFlags;
23
+ /** Unique identifier for this type */
24
+ readonly id: number;
24
25
  /** Get the symbol associated with this type, if any */
25
26
  getSymbol(): Promise<Symbol | undefined>;
27
+ /** Get the type arguments of the type alias this type was instantiated from, if any */
28
+ getAliasTypeArguments(): Promise<readonly Type[]>;
29
+ /** Get the symbol of the type alias this type was instantiated from, if any */
30
+ getAliasSymbol(): Promise<Symbol | undefined>;
31
+ /**
32
+ * Get the base types of this type, or `undefined` if it is not a class or
33
+ * interface type.
34
+ */
35
+ getBaseTypes(): Promise<readonly Type[] | undefined>;
36
+ /** Whether this type is a class or interface type */
37
+ isClassOrInterface(): this is InterfaceType;
38
+ /** Whether this type is a union type */
39
+ isUnionType(): this is UnionType;
40
+ /** Whether this type is an intersection type */
41
+ isIntersectionType(): this is IntersectionType;
42
+ /** Whether this type is an object type */
43
+ isObjectType(): this is ObjectType;
44
+ /** Whether this type is an intrinsic primitive type */
45
+ isIntrinsicType(): this is IntrinsicType;
46
+ /**
47
+ * Whether this is the error type — the placeholder produced when a type
48
+ * cannot be determined (e.g. an unresolved reference).
49
+ */
50
+ isErrorType(): boolean;
51
+ /** Whether this type is a literal type */
52
+ isLiteralType(): this is LiteralType;
53
+ /** Whether this type is a string literal type */
54
+ isStringLiteralType(): this is StringLiteralType;
55
+ /** Whether this type is a number literal type */
56
+ isNumberLiteralType(): this is NumberLiteralType;
57
+ /** Whether this type is a bigint literal type */
58
+ isBigIntLiteralType(): this is BigIntLiteralType;
59
+ /** Whether this type is a boolean literal type */
60
+ isBooleanLiteralType(): this is BooleanLiteralType;
61
+ /** Whether this type is a type reference */
62
+ isTypeReference(): this is TypeReference;
63
+ /** Whether this type is a tuple type */
64
+ isTupleType(): this is TupleType;
65
+ /** Whether this type is an index type (`keyof T`) */
66
+ isIndexType(): this is IndexType;
67
+ /** Whether this type is an indexed access type (`T[K]`) */
68
+ isIndexedAccessType(): this is IndexedAccessType;
69
+ /** Whether this type is a conditional type */
70
+ isConditionalType(): this is ConditionalType;
71
+ /** Whether this type is a substitution type */
72
+ isSubstitutionType(): this is SubstitutionType;
73
+ /** Whether this type is a template literal type */
74
+ isTemplateLiteralType(): this is TemplateLiteralType;
75
+ /** Whether this type is a string mapping type */
76
+ isStringMappingType(): this is StringMappingType;
77
+ /** Whether this type is a type parameter */
78
+ isTypeParameter(): this is TypeParameter;
79
+ }
80
+ /**
81
+ * Freshable types (TypeFlags.Freshable) - literal types (TypeFlags.Literal) and computed enum types (TypeFlags.Enum).
82
+ */
83
+ export interface FreshableType extends Type {
84
+ /** Get the fresh version of this type, if any */
85
+ getFreshType(): Promise<FreshableType | undefined>;
86
+ /** Get the regular (non-fresh) version of this type, if any */
87
+ getRegularType(): Promise<FreshableType | undefined>;
26
88
  }
27
89
  /** Literal types: StringLiteral, NumberLiteral, BigIntLiteral, BooleanLiteral */
28
- export interface LiteralType extends Type {
29
- /** The literal value */
30
- readonly value: string | number | boolean;
90
+ export interface LiteralType extends FreshableType {
91
+ /** The literal value. Use TypeFlags to narrow to a specific literal subtype with a concrete value type. */
92
+ readonly value: string | number | boolean | bigint;
93
+ }
94
+ /** String literal types (TypeFlags.StringLiteral) */
95
+ export interface StringLiteralType extends LiteralType {
96
+ /** The string value of the literal */
97
+ readonly value: string;
98
+ }
99
+ /** Numeric literal types (TypeFlags.NumberLiteral) */
100
+ export interface NumberLiteralType extends LiteralType {
101
+ /** The numeric value of the literal */
102
+ readonly value: number;
103
+ }
104
+ /** BigInt literal types (TypeFlags.BigIntLiteral) */
105
+ export interface BigIntLiteralType extends LiteralType {
106
+ /** The bigint value of the literal */
107
+ readonly value: bigint;
108
+ }
109
+ /** Boolean literal types (TypeFlags.BooleanLiteral) */
110
+ export interface BooleanLiteralType extends LiteralType {
111
+ /** The boolean value of the literal */
112
+ readonly value: boolean;
31
113
  }
32
114
  /** Object types (TypeFlags.Object) */
33
115
  export interface ObjectType extends Type {
34
- /** Object flags — use to determine the specific kind of object type */
116
+ /** Object flags — use to determine the specific kind of object type. */
35
117
  readonly objectFlags: ObjectFlags;
36
118
  }
37
119
  /** Type references (ObjectFlags.Reference) — e.g. Array<string>, Map<K, V> */
@@ -42,11 +124,11 @@ export interface TypeReference extends ObjectType {
42
124
  /** Interface types — classes and interfaces (ObjectFlags.ClassOrInterface) */
43
125
  export interface InterfaceType extends TypeReference {
44
126
  /** Get all type parameters (outer + local, excluding thisType) */
45
- getTypeParameters(): Promise<readonly Type[]>;
127
+ getTypeParameters(): Promise<readonly TypeParameter[]>;
46
128
  /** Get outer type parameters from enclosing declarations */
47
- getOuterTypeParameters(): Promise<readonly Type[]>;
129
+ getOuterTypeParameters(): Promise<readonly TypeParameter[]>;
48
130
  /** Get local type parameters declared on this interface/class */
49
- getLocalTypeParameters(): Promise<readonly Type[]>;
131
+ getLocalTypeParameters(): Promise<readonly TypeParameter[]>;
50
132
  }
51
133
  /** Tuple types (ObjectFlags.Tuple) */
52
134
  export interface TupleType extends InterfaceType {
@@ -70,6 +152,8 @@ export interface IntersectionType extends UnionOrIntersectionType {
70
152
  }
71
153
  /** Type parameters (TypeFlags.TypeParameter) */
72
154
  export interface TypeParameter extends Type {
155
+ /** True if this is the synthetic `this` type of an interface, class, or tuple */
156
+ readonly isThisType?: boolean | undefined;
73
157
  }
74
158
  /** Index types — keyof T (TypeFlags.Index) */
75
159
  export interface IndexType extends Type {
@@ -89,6 +173,10 @@ export interface ConditionalType extends Type {
89
173
  getCheckType(): Promise<Type>;
90
174
  /** Get the extends type U in `T extends U ? X : Y` */
91
175
  getExtendsType(): Promise<Type>;
176
+ /** Get the true type X in `T extends U ? X : Y` */
177
+ getTrueType(): Promise<Type>;
178
+ /** Get the false type Y in `T extends U ? X : Y` */
179
+ getFalseType(): Promise<Type>;
92
180
  }
93
181
  /** Substitution types (TypeFlags.Substitution) */
94
182
  export interface SubstitutionType extends Type {
@@ -107,6 +195,11 @@ export interface StringMappingType extends Type {
107
195
  /** Get the mapped type */
108
196
  getTarget(): Promise<Type>;
109
197
  }
198
+ /** Intrinsic types — any, unknown, string, number, bigint, symbol, void, undefined, null, never, object (TypeFlags.Intrinsic) */
199
+ export interface IntrinsicType extends Type {
200
+ /** The intrinsic type name (e.g. "any", "string", "never") */
201
+ readonly intrinsicName: string;
202
+ }
110
203
  /** Base for all type predicates */
111
204
  export interface TypePredicateBase {
112
205
  readonly kind: TypePredicateKind;
@@ -150,13 +243,51 @@ export interface IndexInfo {
150
243
  readonly valueType: Type;
151
244
  /** Whether the index signature is readonly */
152
245
  readonly isReadonly: boolean;
246
+ /** The index signature declaration, if any */
247
+ readonly declaration?: NodeHandle | undefined;
248
+ }
249
+ /**
250
+ * A single JSDoc tag attached to a symbol — e.g. `@param`, `@returns`.
251
+ */
252
+ export interface JSDocTagInfo {
253
+ /** The tag name, without the leading `@` — e.g. `"param"`. */
254
+ readonly name: string;
255
+ /** The rendered tag text, if any — e.g. `"a the first number"` for `@param a the first number`. */
256
+ readonly text?: string | undefined;
257
+ }
258
+ export interface CompletionEntryLabelDetails {
259
+ detail?: string | undefined;
260
+ description?: string | undefined;
261
+ }
262
+ /** Options for {@link Checker.getCompletionsAtPosition}. */
263
+ export interface CompletionOptions {
264
+ triggerCharacter?: string | undefined;
265
+ /** Include a `symbol` property on each completion entry. Only populated for symbol-based completions (not keywords or literals). */
266
+ includeSymbol?: boolean | undefined;
267
+ }
268
+ /** A single completion item returned by {@link Checker.getCompletionsAtPosition}. */
269
+ export interface CompletionEntry {
270
+ readonly name: string;
271
+ readonly kind?: CompletionItemKind | undefined;
272
+ readonly sortText?: string | undefined;
273
+ readonly insertText?: string | undefined;
274
+ readonly filterText?: string | undefined;
275
+ readonly detail?: string | undefined;
276
+ readonly labelDetails?: CompletionEntryLabelDetails | undefined;
277
+ /** The symbol associated with this completion entry. Only set when `includeSymbol: true` is passed and a symbol is available. */
278
+ readonly symbol?: Symbol | undefined;
279
+ }
280
+ /** The result of {@link Checker.getCompletionsAtPosition}. */
281
+ export interface CompletionInfo {
282
+ readonly isIncomplete: boolean;
283
+ readonly entries: readonly CompletionEntry[];
153
284
  }
154
285
  /**
155
286
  * A diagnostic message from the TypeScript compiler.
156
287
  */
157
288
  export interface Diagnostic {
158
289
  /** File name of the source file this diagnostic belongs to, if any */
159
- readonly fileName?: string;
290
+ readonly fileName?: string | undefined;
160
291
  /** Start position of the diagnostic */
161
292
  readonly pos: number;
162
293
  /** End position of the diagnostic */
@@ -168,12 +299,12 @@ export interface Diagnostic {
168
299
  /** Localized diagnostic message text */
169
300
  readonly text: string;
170
301
  /** Whether this diagnostic highlights unnecessary code */
171
- readonly reportsUnnecessary?: boolean;
302
+ readonly reportsUnnecessary?: boolean | undefined;
172
303
  /** Whether this diagnostic highlights deprecated code */
173
- readonly reportsDeprecated?: boolean;
304
+ readonly reportsDeprecated?: boolean | undefined;
174
305
  /** Chained diagnostic messages */
175
- readonly messageChain?: readonly Diagnostic[];
306
+ readonly messageChain?: readonly Diagnostic[] | undefined;
176
307
  /** Related diagnostic information */
177
- readonly relatedInformation?: readonly Diagnostic[];
308
+ readonly relatedInformation?: readonly Diagnostic[] | undefined;
178
309
  }
179
310
  //# sourceMappingURL=types.d.ts.map