@scriptc/compiler 0.4.0 → 0.4.1

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 (433) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +35 -5
  2. package/dist/backend/executable-features.js +7 -0
  3. package/dist/backend/executable-features.js.map +1 -1
  4. package/dist/backend/library-pack.js +3 -0
  5. package/dist/backend/library-pack.js.map +1 -1
  6. package/dist/backend/link-plan-core.d.ts +2 -0
  7. package/dist/backend/link-plan-core.js +2 -0
  8. package/dist/backend/link-plan-core.js.map +1 -1
  9. package/dist/backend/link-plan.d.ts +1 -0
  10. package/dist/backend/link-plan.js +1 -0
  11. package/dist/backend/link-plan.js.map +1 -1
  12. package/dist/backend/llvm/array-search.js +3 -1
  13. package/dist/backend/llvm/array-search.js.map +1 -1
  14. package/dist/backend/llvm/classes.d.ts +27 -1
  15. package/dist/backend/llvm/classes.js +115 -22
  16. package/dist/backend/llvm/classes.js.map +1 -1
  17. package/dist/backend/llvm/classes.test.js +21 -9
  18. package/dist/backend/llvm/classes.test.js.map +1 -1
  19. package/dist/backend/llvm/common.d.ts +21 -3
  20. package/dist/backend/llvm/common.js +50 -3
  21. package/dist/backend/llvm/common.js.map +1 -1
  22. package/dist/backend/llvm/dense-array-access.d.ts +3 -1
  23. package/dist/backend/llvm/dense-array-access.js +61 -38
  24. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  25. package/dist/backend/llvm/dense-array-access.test.js +4 -0
  26. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  27. package/dist/backend/llvm/dense-array-loops.js +3 -3
  28. package/dist/backend/llvm/dense-array-loops.js.map +1 -1
  29. package/dist/backend/llvm/dyn.d.ts +9 -0
  30. package/dist/backend/llvm/dyn.js +62 -6
  31. package/dist/backend/llvm/dyn.js.map +1 -1
  32. package/dist/backend/llvm/emit-function.js +5 -2
  33. package/dist/backend/llvm/emit-function.js.map +1 -1
  34. package/dist/backend/llvm/emit-module.js +54 -32
  35. package/dist/backend/llvm/emit-module.js.map +1 -1
  36. package/dist/backend/llvm/emit-statements.d.ts +3 -2
  37. package/dist/backend/llvm/emit-statements.js +90 -13
  38. package/dist/backend/llvm/emit-statements.js.map +1 -1
  39. package/dist/backend/llvm/emitter.d.ts +20 -9
  40. package/dist/backend/llvm/emitter.js +42 -31
  41. package/dist/backend/llvm/emitter.js.map +1 -1
  42. package/dist/backend/llvm/expr-calls.js +17 -4
  43. package/dist/backend/llvm/expr-calls.js.map +1 -1
  44. package/dist/backend/llvm/expr-containers.js +6 -9
  45. package/dist/backend/llvm/expr-containers.js.map +1 -1
  46. package/dist/backend/llvm/expr-dynamic.js +46 -4
  47. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  48. package/dist/backend/llvm/expr-primitives.js +3 -3
  49. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  50. package/dist/backend/llvm/expr-primitives.test.js +55 -0
  51. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  52. package/dist/backend/llvm/expr-stream-bridges.js +11 -15
  53. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  54. package/dist/backend/llvm/integer-clones.js +3 -3
  55. package/dist/backend/llvm/integer-clones.js.map +1 -1
  56. package/dist/backend/llvm/js-ic.d.ts +18 -0
  57. package/dist/backend/llvm/js-ic.js +712 -0
  58. package/dist/backend/llvm/js-ic.js.map +1 -0
  59. package/dist/backend/llvm/jsval.js +139 -11
  60. package/dist/backend/llvm/jsval.js.map +1 -1
  61. package/dist/backend/llvm/lib-process.js +4 -3
  62. package/dist/backend/llvm/lib-process.js.map +1 -1
  63. package/dist/backend/llvm/lib-shared.js +22 -0
  64. package/dist/backend/llvm/lib-shared.js.map +1 -1
  65. package/dist/backend/llvm/local-array-reads.js +40 -31
  66. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  67. package/dist/backend/llvm/map-number-lookup.d.ts +20 -4
  68. package/dist/backend/llvm/map-number-lookup.js +43 -7
  69. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  70. package/dist/backend/llvm/narrow-guards.js +64 -0
  71. package/dist/backend/llvm/narrow-guards.js.map +1 -1
  72. package/dist/backend/llvm/publish.d.ts +3 -0
  73. package/dist/backend/llvm/publish.js +36 -17
  74. package/dist/backend/llvm/publish.js.map +1 -1
  75. package/dist/backend/llvm/regions.js +2 -2
  76. package/dist/backend/llvm/regions.js.map +1 -1
  77. package/dist/backend/llvm/regions.test.js +7 -1
  78. package/dist/backend/llvm/regions.test.js.map +1 -1
  79. package/dist/backend/llvm/shapes.d.ts +8 -2
  80. package/dist/backend/llvm/shapes.js +9 -7
  81. package/dist/backend/llvm/shapes.js.map +1 -1
  82. package/dist/backend/llvm/speculative-integers.d.ts +20 -1
  83. package/dist/backend/llvm/speculative-integers.js +94 -6
  84. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  85. package/dist/backend/llvm/speculative-integers.test.js +55 -1
  86. package/dist/backend/llvm/speculative-integers.test.js.map +1 -1
  87. package/dist/backend/llvm/string-reads.d.ts +1 -1
  88. package/dist/backend/llvm/string-reads.js +4 -4
  89. package/dist/backend/llvm/string-reads.js.map +1 -1
  90. package/dist/backend/llvm/thread-slots.test.js +5 -4
  91. package/dist/backend/llvm/thread-slots.test.js.map +1 -1
  92. package/dist/backend/mangle.d.ts +5 -0
  93. package/dist/backend/mangle.js +7 -0
  94. package/dist/backend/mangle.js.map +1 -1
  95. package/dist/backend/native/contracts.d.ts +20 -0
  96. package/dist/backend/native/executable.js +20 -3
  97. package/dist/backend/native/executable.js.map +1 -1
  98. package/dist/backend/native/library.js +2 -1
  99. package/dist/backend/native/library.js.map +1 -1
  100. package/dist/backend/native-codegen.d.ts +6 -0
  101. package/dist/backend/native-codegen.js +19 -0
  102. package/dist/backend/native-codegen.js.map +1 -1
  103. package/dist/backend/native-codegen.test.js +27 -0
  104. package/dist/backend/native-codegen.test.js.map +1 -1
  105. package/dist/backend/native-link-info-core.d.ts +18 -0
  106. package/dist/backend/native-link-info-core.js.map +1 -1
  107. package/dist/backend/native-profile.d.ts +32 -0
  108. package/dist/backend/native-profile.js +39 -0
  109. package/dist/backend/native-profile.js.map +1 -0
  110. package/dist/backend/native-profile.test.d.ts +1 -0
  111. package/dist/backend/native-profile.test.js +58 -0
  112. package/dist/backend/native-profile.test.js.map +1 -0
  113. package/dist/backend/native-tools.d.ts +14 -0
  114. package/dist/backend/native-tools.js +13 -0
  115. package/dist/backend/native-tools.js.map +1 -1
  116. package/dist/backend/runtime-abi.d.ts +2 -2
  117. package/dist/backend/runtime-abi.js +2 -2
  118. package/dist/backend/runtime-pack-core.d.ts +4 -0
  119. package/dist/backend/runtime-pack-core.js +4 -0
  120. package/dist/backend/runtime-pack-core.js.map +1 -1
  121. package/dist/backend/runtime-pack-targets.test.js +4 -1
  122. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  123. package/dist/backend/runtime-pack.test.js +4 -1
  124. package/dist/backend/runtime-pack.test.js.map +1 -1
  125. package/dist/backend/target-diagnostics.js +7 -0
  126. package/dist/backend/target-diagnostics.js.map +1 -1
  127. package/dist/backend/warm-cache.js +3 -0
  128. package/dist/backend/warm-cache.js.map +1 -1
  129. package/dist/cli/command.js +63 -1
  130. package/dist/cli/command.js.map +1 -1
  131. package/dist/cli/host.d.ts +3 -0
  132. package/dist/cli/output-options.d.ts +2 -0
  133. package/dist/cli/output-options.js +9 -0
  134. package/dist/cli/output-options.js.map +1 -1
  135. package/dist/cli/usage.d.ts +11 -1
  136. package/dist/cli/usage.js +23 -0
  137. package/dist/cli/usage.js.map +1 -1
  138. package/dist/compile-types.d.ts +9 -0
  139. package/dist/contracts/check.js +1 -2
  140. package/dist/contracts/check.js.map +1 -1
  141. package/dist/executable/executable-cache.d.ts +10 -0
  142. package/dist/executable/executable-cache.js +6 -0
  143. package/dist/executable/executable-cache.js.map +1 -1
  144. package/dist/executable/executable-cache.test.js +5 -0
  145. package/dist/executable/executable-cache.test.js.map +1 -1
  146. package/dist/frontend/arguments-usage.d.ts +8 -0
  147. package/dist/frontend/arguments-usage.js +98 -0
  148. package/dist/frontend/arguments-usage.js.map +1 -1
  149. package/dist/frontend/arguments-usage.test.d.ts +1 -0
  150. package/dist/frontend/arguments-usage.test.js +32 -0
  151. package/dist/frontend/arguments-usage.test.js.map +1 -0
  152. package/dist/frontend/builtin-package-aliases.d.ts +24 -0
  153. package/dist/frontend/builtin-package-aliases.js +133 -0
  154. package/dist/frontend/builtin-package-aliases.js.map +1 -0
  155. package/dist/frontend/builtin-package-aliases.test.d.ts +1 -0
  156. package/dist/frontend/builtin-package-aliases.test.js +48 -0
  157. package/dist/frontend/builtin-package-aliases.test.js.map +1 -0
  158. package/dist/frontend/dts-paths.d.ts +4 -0
  159. package/dist/frontend/dts-paths.js +9 -1
  160. package/dist/frontend/dts-paths.js.map +1 -1
  161. package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +8 -0
  162. package/dist/frontend/lowering/builtins/builtin-class-dyn.js +50 -1
  163. package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -1
  164. package/dist/frontend/lowering/builtins/callable-aliases.js +3 -2
  165. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  166. package/dist/frontend/lowering/builtins/crypto.d.ts +3 -0
  167. package/dist/frontend/lowering/builtins/crypto.js +4 -1
  168. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  169. package/dist/frontend/lowering/builtins/ecdh.d.ts +10 -0
  170. package/dist/frontend/lowering/builtins/ecdh.js +208 -0
  171. package/dist/frontend/lowering/builtins/ecdh.js.map +1 -0
  172. package/dist/frontend/lowering/builtins/json.js +52 -0
  173. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  174. package/dist/frontend/lowering/builtins/process.d.ts +9 -0
  175. package/dist/frontend/lowering/builtins/process.js +44 -0
  176. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  177. package/dist/frontend/lowering/builtins/promisify-callback.d.ts +3 -0
  178. package/dist/frontend/lowering/builtins/promisify-callback.js +21 -3
  179. package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -1
  180. package/dist/frontend/lowering/builtins/reflection.js +26 -0
  181. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  182. package/dist/frontend/lowering/builtins/timers.js +5 -1
  183. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  184. package/dist/frontend/lowering/builtins/typed-array-members.d.ts +7 -0
  185. package/dist/frontend/lowering/builtins/typed-array-members.js +160 -0
  186. package/dist/frontend/lowering/builtins/typed-array-members.js.map +1 -0
  187. package/dist/frontend/lowering/call-signatures.d.ts +4 -0
  188. package/dist/frontend/lowering/call-signatures.js +126 -9
  189. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  190. package/dist/frontend/lowering/cjs-exports-object.js +34 -1
  191. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  192. package/dist/frontend/lowering/class-dynamic-dispatch.js +9 -1
  193. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  194. package/dist/frontend/lowering/class-protocols.d.ts +10 -0
  195. package/dist/frontend/lowering/class-protocols.js +53 -3
  196. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  197. package/dist/frontend/lowering/class-prototypes.js +6 -1
  198. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  199. package/dist/frontend/lowering/class-to-primitive.d.ts +2 -2
  200. package/dist/frontend/lowering/class-to-primitive.js +6 -3
  201. package/dist/frontend/lowering/class-to-primitive.js.map +1 -1
  202. package/dist/frontend/lowering/coercions/fresh-spread.d.ts +13 -0
  203. package/dist/frontend/lowering/coercions/fresh-spread.js +95 -0
  204. package/dist/frontend/lowering/coercions/fresh-spread.js.map +1 -0
  205. package/dist/frontend/lowering/coercions/function-adapters.js +99 -70
  206. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  207. package/dist/frontend/lowering/containers/array-callbacks.d.ts +8 -0
  208. package/dist/frontend/lowering/containers/array-callbacks.js +22 -19
  209. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  210. package/dist/frontend/lowering/containers/array-construction.js +7 -0
  211. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  212. package/dist/frontend/lowering/containers/array-methods.js +5 -0
  213. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  214. package/dist/frontend/lowering/containers/bytes.d.ts +9 -0
  215. package/dist/frontend/lowering/containers/bytes.js +493 -17
  216. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  217. package/dist/frontend/lowering/containers/collection-methods.js +72 -3
  218. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  219. package/dist/frontend/lowering/containers/string-and-regexp.js +49 -13
  220. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  221. package/dist/frontend/lowering/cycle-initialization.d.ts +26 -10
  222. package/dist/frontend/lowering/cycle-initialization.js +152 -35
  223. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  224. package/dist/frontend/lowering/expressions/array-literals.js +33 -13
  225. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  226. package/dist/frontend/lowering/expressions/binary.js +79 -5
  227. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  228. package/dist/frontend/lowering/expressions/element-access.js +13 -6
  229. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  230. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +14 -2
  231. package/dist/frontend/lowering/expressions/keyed-field-targets.js +91 -10
  232. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
  233. package/dist/frontend/lowering/expressions/narrowing.js +17 -2
  234. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  235. package/dist/frontend/lowering/expressions/object-literals.js +48 -1
  236. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  237. package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
  238. package/dist/frontend/lowering/expressions/optional-chains.js +12 -3
  239. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  240. package/dist/frontend/lowering/expressions/property-access.d.ts +5 -0
  241. package/dist/frontend/lowering/expressions/property-access.js +252 -9
  242. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  243. package/dist/frontend/lowering/expressions/relational.js +49 -4
  244. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  245. package/dist/frontend/lowering/expressions/typeof.js +13 -0
  246. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  247. package/dist/frontend/lowering/expressions/updates.js +1 -1
  248. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  249. package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
  250. package/dist/frontend/lowering/generator-delegation.js +191 -1
  251. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  252. package/dist/frontend/lowering/generic-functions.d.ts +4 -0
  253. package/dist/frontend/lowering/generic-functions.js +213 -56
  254. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  255. package/dist/frontend/lowering/handle-properties.d.ts +24 -0
  256. package/dist/frontend/lowering/handle-properties.js +281 -0
  257. package/dist/frontend/lowering/handle-properties.js.map +1 -0
  258. package/dist/frontend/lowering/iterable-spelling.d.ts +7 -0
  259. package/dist/frontend/lowering/iterable-spelling.js +38 -0
  260. package/dist/frontend/lowering/iterable-spelling.js.map +1 -0
  261. package/dist/frontend/lowering/lower-array-sort.d.ts +33 -15
  262. package/dist/frontend/lowering/lower-array-sort.js +117 -21
  263. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  264. package/dist/frontend/lowering/lower-array-sort.test.js +93 -14
  265. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
  266. package/dist/frontend/lowering/lower-builtin-values.js +1 -0
  267. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  268. package/dist/frontend/lowering/lower-calls.js +166 -7
  269. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  270. package/dist/frontend/lowering/lower-classes.d.ts +4 -0
  271. package/dist/frontend/lowering/lower-classes.js +59 -7
  272. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  273. package/dist/frontend/lowering/lower-dgram.js +62 -13
  274. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  275. package/dist/frontend/lowering/lower-exprs.js +32 -1
  276. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  277. package/dist/frontend/lowering/lower-functions.js +4 -0
  278. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  279. package/dist/frontend/lowering/lower-generators.js +10 -4
  280. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  281. package/dist/frontend/lowering/lower-inspect.js +569 -11
  282. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  283. package/dist/frontend/lowering/lower-modules.d.ts +11 -3
  284. package/dist/frontend/lowering/lower-modules.js +212 -67
  285. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  286. package/dist/frontend/lowering/lower-namespaces.js +20 -0
  287. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  288. package/dist/frontend/lowering/lower-server.js +26 -1
  289. package/dist/frontend/lowering/lower-server.js.map +1 -1
  290. package/dist/frontend/lowering/lower-stdlib.js +28 -9
  291. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  292. package/dist/frontend/lowering/lower-stmts.d.ts +7 -10
  293. package/dist/frontend/lowering/lower-stmts.js +418 -51
  294. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  295. package/dist/frontend/lowering/lower-timers.js +17 -1
  296. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  297. package/dist/frontend/lowering/lowerer.d.ts +29 -5
  298. package/dist/frontend/lowering/lowerer.js +172 -25
  299. package/dist/frontend/lowering/lowerer.js.map +1 -1
  300. package/dist/frontend/lowering/rebindable-functions.d.ts +8 -0
  301. package/dist/frontend/lowering/rebindable-functions.js +54 -0
  302. package/dist/frontend/lowering/rebindable-functions.js.map +1 -0
  303. package/dist/frontend/lowering/static-typeof.d.ts +26 -0
  304. package/dist/frontend/lowering/static-typeof.js +133 -0
  305. package/dist/frontend/lowering/static-typeof.js.map +1 -0
  306. package/dist/frontend/lowering/string-index-bounds.js +3 -2
  307. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  308. package/dist/frontend/lowering/surfaces.js +30 -4
  309. package/dist/frontend/lowering/surfaces.js.map +1 -1
  310. package/dist/frontend/lowering/thenables.d.ts +16 -0
  311. package/dist/frontend/lowering/thenables.js +124 -0
  312. package/dist/frontend/lowering/thenables.js.map +1 -0
  313. package/dist/frontend/npm-static-builtin-aliases.d.ts +8 -0
  314. package/dist/frontend/npm-static-builtin-aliases.js +65 -0
  315. package/dist/frontend/npm-static-builtin-aliases.js.map +1 -0
  316. package/dist/frontend/npm-static-bundled-chunks.d.ts +8 -1
  317. package/dist/frontend/npm-static-bundled-chunks.js +173 -2
  318. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -1
  319. package/dist/frontend/npm-static-bundled-chunks.test.js +112 -0
  320. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -1
  321. package/dist/frontend/npm-static-bundled-esm.js +224 -4
  322. package/dist/frontend/npm-static-bundled-esm.js.map +1 -1
  323. package/dist/frontend/npm-static-bundled-esm.test.js +129 -0
  324. package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -1
  325. package/dist/frontend/npm-static-enum-iife.d.ts +6 -0
  326. package/dist/frontend/npm-static-enum-iife.js +280 -0
  327. package/dist/frontend/npm-static-enum-iife.js.map +1 -0
  328. package/dist/frontend/npm-static-enum-iife.test.d.ts +1 -0
  329. package/dist/frontend/npm-static-enum-iife.test.js +116 -0
  330. package/dist/frontend/npm-static-enum-iife.test.js.map +1 -0
  331. package/dist/frontend/npm-static.d.ts +8 -0
  332. package/dist/frontend/npm-static.js +46 -1
  333. package/dist/frontend/npm-static.js.map +1 -1
  334. package/dist/frontend/npm.js +13 -0
  335. package/dist/frontend/npm.js.map +1 -1
  336. package/dist/frontend/package-shims.d.ts +47 -0
  337. package/dist/frontend/package-shims.js +300 -0
  338. package/dist/frontend/package-shims.js.map +1 -0
  339. package/dist/frontend/pipeline.js +67 -1
  340. package/dist/frontend/pipeline.js.map +1 -1
  341. package/dist/frontend/program.d.ts +8 -0
  342. package/dist/frontend/program.js +72 -9
  343. package/dist/frontend/program.js.map +1 -1
  344. package/dist/frontend/resolve.js +13 -0
  345. package/dist/frontend/resolve.js.map +1 -1
  346. package/dist/frontend/services.d.ts +6 -0
  347. package/dist/frontend/services.js +19 -0
  348. package/dist/frontend/services.js.map +1 -1
  349. package/dist/frontend/ts7/program-host.d.ts +6 -5
  350. package/dist/frontend/ts7/program-host.js +7 -0
  351. package/dist/frontend/ts7/program-host.js.map +1 -1
  352. package/dist/frontend/ts7/semantic-model.d.ts +3 -0
  353. package/dist/frontend/ts7/semantic-model.js +26 -0
  354. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  355. package/dist/frontend/ts7/session.d.ts +19 -4
  356. package/dist/frontend/ts7/session.js.map +1 -1
  357. package/dist/frontend/type-mapper.js +201 -15
  358. package/dist/frontend/type-mapper.js.map +1 -1
  359. package/dist/index.d.ts +1 -0
  360. package/dist/index.js +58 -6
  361. package/dist/index.js.map +1 -1
  362. package/dist/ir/array-length-stability.d.ts +3 -2
  363. package/dist/ir/array-length-stability.js +15 -2
  364. package/dist/ir/array-length-stability.js.map +1 -1
  365. package/dist/ir/array-length-stability.test.js +22 -1
  366. package/dist/ir/array-length-stability.test.js.map +1 -1
  367. package/dist/ir/builtin-effects.js +13 -0
  368. package/dist/ir/builtin-effects.js.map +1 -1
  369. package/dist/ir/builtin-signatures.d.ts +1 -1
  370. package/dist/ir/builtin-signatures.js +46 -4
  371. package/dist/ir/builtin-signatures.js.map +1 -1
  372. package/dist/ir/integer-loop-facts.d.ts +5 -0
  373. package/dist/ir/integer-loop-facts.js +79 -14
  374. package/dist/ir/integer-loop-facts.js.map +1 -1
  375. package/dist/ir/integer-ranges.d.ts +10 -1
  376. package/dist/ir/integer-ranges.js +122 -25
  377. package/dist/ir/integer-ranges.js.map +1 -1
  378. package/dist/ir/integer-ranges.test.js +191 -1
  379. package/dist/ir/integer-ranges.test.js.map +1 -1
  380. package/dist/ir/ir.js +8 -0
  381. package/dist/ir/ir.js.map +1 -1
  382. package/dist/ir/js-ic.d.ts +52 -0
  383. package/dist/ir/js-ic.js +199 -0
  384. package/dist/ir/js-ic.js.map +1 -0
  385. package/dist/ir/js-ic.test.d.ts +1 -0
  386. package/dist/ir/js-ic.test.js +148 -0
  387. package/dist/ir/js-ic.test.js.map +1 -0
  388. package/dist/ir/jsval.js +38 -4
  389. package/dist/ir/jsval.js.map +1 -1
  390. package/dist/ir/runtime-features.d.ts +39 -4
  391. package/dist/ir/runtime-features.js +229 -99
  392. package/dist/ir/runtime-features.js.map +1 -1
  393. package/dist/ir/traverse.js +110 -68
  394. package/dist/ir/traverse.js.map +1 -1
  395. package/dist/ir/validate.js +21 -8
  396. package/dist/ir/validate.js.map +1 -1
  397. package/dist/ir/validate.test.js +15 -2
  398. package/dist/ir/validate.test.js.map +1 -1
  399. package/dist/library/ir-policy.js +1 -0
  400. package/dist/library/ir-policy.js.map +1 -1
  401. package/dist/native/cli.js +17 -0
  402. package/dist/native/cli.js.map +1 -1
  403. package/dist/native/compiler.js +33 -4
  404. package/dist/native/compiler.js.map +1 -1
  405. package/dist/native/executable-cache.js +3 -0
  406. package/dist/native/executable-cache.js.map +1 -1
  407. package/dist/native/prepare.js +3 -0
  408. package/dist/native/prepare.js.map +1 -1
  409. package/dist/native/sanitizer.test.js +7 -0
  410. package/dist/native/sanitizer.test.js.map +1 -1
  411. package/package.json +21 -20
  412. package/shims/fs-extra/core/api.ts +1192 -0
  413. package/shims/fs-extra/index.ts +9 -0
  414. package/shims/undici/core/agent.ts +163 -0
  415. package/shims/undici/core/api.ts +93 -0
  416. package/shims/undici/core/client.ts +1304 -0
  417. package/shims/undici/core/connector.ts +157 -0
  418. package/shims/undici/core/diagnostics-types.ts +68 -0
  419. package/shims/undici/core/diagnostics.ts +16 -0
  420. package/shims/undici/core/dispatcher.ts +574 -0
  421. package/shims/undici/core/errors-v5.ts +22 -0
  422. package/shims/undici/core/errors-v7.ts +25 -0
  423. package/shims/undici/core/errors.ts +255 -0
  424. package/shims/undici/core/fetch.ts +635 -0
  425. package/shims/undici/core/pool.ts +280 -0
  426. package/shims/undici/core/readable.ts +268 -0
  427. package/shims/undici/core/request.ts +313 -0
  428. package/shims/undici/core/timers.ts +80 -0
  429. package/shims/undici/core/types.ts +167 -0
  430. package/shims/undici/core/util.ts +67 -0
  431. package/shims/undici/v5.ts +119 -0
  432. package/shims/undici/v7.ts +119 -0
  433. package/surface-manifest.json +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"npm-static-bundled-chunks.test.js","sourceRoot":"","sources":["../../src/frontend/npm-static-bundled-chunks.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm-static-bundled-chunks.test.js","sourceRoot":"","sources":["../../src/frontend/npm-static-bundled-chunks.test.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,8 @@
29
29
  import * as ts from "./ts7/syntax.js";
30
30
  import { bareRequireSpecOf } from "./cjs-syntax.js";
31
31
  import { helperTokens } from "./helper-tokens.js";
32
- import { applyEdits, countDeclarations, declaredNames, factoryFrameUse, helperBase, isWritten, references, unparen, } from "./npm-static-bundled-chunks.js";
32
+ import { canonicalBuiltinModule } from "./builtin-modules.js";
33
+ import { applyEdits, countDeclarations, declaredNames, factoryFrameUse, helperBase, isWritten, references, strictPrologue, unparen, } from "./npm-static-bundled-chunks.js";
33
34
  import { getTextOfNode, tokenStartOfNode } from "./ts7/node-functions.js";
34
35
  const ESM_SHAPE_DEGRADE = "its shipped JS initializes bundled ES modules through the __esm helper in a shape the " +
35
36
  "recognizer cannot verify";
@@ -107,6 +108,16 @@ function removeDeclarators(sf, dead) {
107
108
  }
108
109
  return edits;
109
110
  }
111
+ /** True when `id` roots the member chain a `new` expression constructs. */
112
+ function inNewCallee(id) {
113
+ let e = id;
114
+ for (let p = e.parent; p !== undefined; e = p, p = p.parent) {
115
+ if ((ts.isPropertyAccessExpression(p) || ts.isElementAccessExpression(p)) && p.expression === e)
116
+ continue;
117
+ return ts.isNewExpression(p) && p.expression === e;
118
+ }
119
+ return false;
120
+ }
110
121
  /** The elements of an expression statement's comma chain, in order. */
111
122
  function commaElements(e) {
112
123
  const out = [];
@@ -277,6 +288,7 @@ export function lowerBundledEsmInits(sf, filePath, host) {
277
288
  return { degrade: ESM_SHAPE_DEGRADE };
278
289
  forms.set(name, form);
279
290
  }
291
+ // The initializers: `NAME = HELPER(factory)` declarators.
280
292
  const inits = new Map();
281
293
  for (const [name, t] of top) {
282
294
  if (!ts.isVariableDeclaration(t.node) || t.node.initializer === undefined)
@@ -349,6 +361,7 @@ export function lowerBundledEsmInits(sf, filePath, host) {
349
361
  list.push(r);
350
362
  }
351
363
  const deadDeclarators = new Set();
364
+ const interopSpecs = new Map();
352
365
  for (const init of inits.values()) {
353
366
  for (const stmt of init.body.statements.nodes) {
354
367
  if (!ts.isExpressionStatement(stmt))
@@ -408,16 +421,29 @@ export function lowerBundledEsmInits(sf, filePath, host) {
408
421
  }
409
422
  if (defaultIsModule && access.name.text === "default")
410
423
  uses.push({ start: tokenStartOfNode(access), end: access.end, text: `(${req})` });
424
+ // `new import_x.C()` must stay `new (require("x")).C()`: a bare
425
+ // `new require("x").C()` constructs the require call itself.
411
426
  else
412
- uses.push({ start: tokenStartOfNode(r), end: r.end, text: req });
427
+ uses.push({
428
+ start: tokenStartOfNode(r),
429
+ end: r.end,
430
+ text: inNewCallee(r) ? `(${req})` : req,
431
+ });
413
432
  }
414
433
  if (!ok)
415
434
  continue;
416
435
  edits.push({ start: tokenStartOfNode(el), end: el.end, text: req }, ...uses);
417
436
  deadDeclarators.add(decl);
437
+ interopSpecs.set(name, spec);
418
438
  }
419
439
  }
420
440
  }
441
+ const hoisted = hoistInitClasses(sf, inits, top, duplicate, writes, refsByName, interopSpecs);
442
+ for (const h of hoisted.values()) {
443
+ edits.push(...h.edits);
444
+ for (const d of h.declarators)
445
+ deadDeclarators.add(d);
446
+ }
421
447
  /* Namespaces of lazily initialized modules read through members. */
422
448
  let mainTarget = null;
423
449
  for (const stmt of sf.statements.nodes) {
@@ -756,13 +782,207 @@ export function lowerBundledEsmInits(sf, filePath, host) {
756
782
  edits.push({
757
783
  start: tokenStartOfNode(call),
758
784
  end: tokenStartOfNode(body) + 1,
759
- text: "(() => { let __scriptc_done = false; function __scriptc_init() {",
785
+ text: `(() => { let __scriptc_done = false; function __scriptc_init() {`,
760
786
  }, {
761
787
  start: body.end - 1,
762
788
  end: call.end,
763
- text: "} return function () { if (__scriptc_done) return; __scriptc_done = true; __scriptc_init(); }; })()",
789
+ // A body split around hoisted classes ends in its last tail function.
790
+ text: hoisted.has(init.name) ? "}" : `} ${RUN_ONCE_TAIL}`,
764
791
  });
765
792
  }
766
793
  return applyEdits(source, 0, source.length, edits);
767
794
  }
795
+ /** Global constructors a hoisted class may extend: reading one runs no
796
+ * code. */
797
+ const GLOBAL_BASES = new Set([
798
+ "Error",
799
+ "TypeError",
800
+ "RangeError",
801
+ "SyntaxError",
802
+ "ReferenceError",
803
+ "EvalError",
804
+ "URIError",
805
+ "AggregateError",
806
+ "Array",
807
+ "Map",
808
+ "Set",
809
+ "Promise",
810
+ "Object",
811
+ ]);
812
+ /** The run-once closure's closing text after the initializer function. */
813
+ const RUN_ONCE_TAIL = "return function () { if (__scriptc_done) return; __scriptc_done = true; __scriptc_init(); }; })()";
814
+ /* Classes an initializer defines into a module binding,
815
+ *
816
+ * var Multi;
817
+ * var init_m = __esm({ "src/m.ts"() { Multi = class extends import_stream.Readable { … }; } });
818
+ *
819
+ * become class declarations in the bundle's scope, at the same text
820
+ * position: the initializer's body splits around each class into run-once
821
+ * pieces that call one another in order (`… __scriptc_rest_init_m_1(); }
822
+ * return …; })(); class Multi extends … { … } function
823
+ * __scriptc_rest_init_m_1() { … }`), so the class's own text stays where
824
+ * it was and only its binding changes. A stored class value with a
825
+ * runtime-provided base has no static representation, while a declared
826
+ * class does.
827
+ *
828
+ * Exact where defining the class earlier is unobservable: its heritage is
829
+ * absent, a builtin module member, or a class hoisted before it; it has no
830
+ * static field initializers, static blocks or computed member names, so
831
+ * evaluating the definition runs no code; the binding is declared once,
832
+ * assigned only there, and read only inside functions (which esbuild's
833
+ * code reaches only after the initializer ran, the assumption the interop
834
+ * respelling makes too); and the body declares nothing, so its statements
835
+ * can move between functions. */
836
+ function hoistInitClasses(sf, inits, top, duplicate, writes, refsByName, interopSpecs) {
837
+ const out = new Map();
838
+ const hoistedNames = new Set();
839
+ /** esbuild's `0 && (module.exports = { … })` annotation for Node's
840
+ * CommonJS lexer: code that never runs. */
841
+ const inDeadAnnotation = (n) => {
842
+ for (let child = n, p = n.parent; p !== undefined; child = p, p = p.parent) {
843
+ if (ts.isBinaryExpression(p) &&
844
+ p.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken &&
845
+ p.right === child &&
846
+ ts.isNumericLiteral(unparen(p.left)) &&
847
+ unparen(p.left).text === "0")
848
+ return true;
849
+ }
850
+ return false;
851
+ };
852
+ const insideFunction = (n) => {
853
+ for (let p = n.parent; p !== undefined && !ts.isSourceFile(p); p = p.parent)
854
+ if (ts.isFunctionLike(p))
855
+ return true;
856
+ return false;
857
+ };
858
+ const heritageOk = (cls) => {
859
+ const clause = cls.heritageClauses?.nodes.find((c) => c.token === ts.SyntaxKind.ExtendsKeyword);
860
+ if (clause === undefined)
861
+ return true;
862
+ const type = clause.types.nodes[0];
863
+ if (type === undefined || clause.types.nodes.length !== 1 || type.typeArguments !== undefined)
864
+ return false;
865
+ let root = type.expression;
866
+ while (ts.isPropertyAccessExpression(root) && !root.questionDotToken)
867
+ root = root.expression;
868
+ if (ts.isIdentifier(root)) {
869
+ if (root === type.expression)
870
+ return (hoistedNames.has(root.text) ||
871
+ // A standard global constructor the bundle never rebinds
872
+ // (`class extends Error`, an error base class).
873
+ (GLOBAL_BASES.has(root.text) && countDeclarations(sf, root.text) === 0));
874
+ const spec = interopSpecs.get(root.text);
875
+ return spec !== undefined && canonicalBuiltinModule(spec) !== null;
876
+ }
877
+ const spec = bareRequireSpecOf(root);
878
+ return spec !== null && canonicalBuiltinModule(spec) !== null && root !== type.expression;
879
+ };
880
+ const definitionInert = (cls) => (cls.modifiers?.nodes.length ?? 0) === 0 &&
881
+ cls.members.nodes.every((m) => {
882
+ if (ts.isClassStaticBlockDeclaration(m))
883
+ return false;
884
+ if (m.name !== undefined && ts.isComputedPropertyName(m.name))
885
+ return false;
886
+ if (m.modifiers?.nodes.some((x) => x.kind === ts.SyntaxKind.Decorator))
887
+ return false;
888
+ const isStatic = m.modifiers?.nodes.some((x) => x.kind === ts.SyntaxKind.StaticKeyword);
889
+ return !(isStatic && ts.isPropertyDeclaration(m));
890
+ });
891
+ for (const init of inits.values()) {
892
+ const stmts = init.body.statements.nodes;
893
+ if (stmts.some((st) => !ts.isExpressionStatement(st) && !ts.isEmptyStatement(st)))
894
+ continue;
895
+ // The initializer's declarator is its statement's last one.
896
+ const declarator = init.call.parent;
897
+ const list = declarator?.parent;
898
+ if (declarator === undefined ||
899
+ !ts.isVariableDeclaration(declarator) ||
900
+ list === undefined ||
901
+ !ts.isVariableDeclarationList(list) ||
902
+ // The initializer ends its statement: the split pieces follow it
903
+ // (`var A, B, init_x = __esm(…)` keeps A and B declared before).
904
+ list.declarations.nodes[list.declarations.nodes.length - 1] !== declarator ||
905
+ unparen(declarator.initializer) !== init.call)
906
+ continue;
907
+ const strict = strictPrologue(stmts) ? '"use strict"; ' : "";
908
+ const edits = [];
909
+ const declarators = [];
910
+ let piece = 0;
911
+ for (const stmt of stmts) {
912
+ if (!ts.isExpressionStatement(stmt))
913
+ continue;
914
+ const els = commaElements(stmt.expression);
915
+ const hoistedEls = new Set();
916
+ for (let i = 0; i < els.length; i++) {
917
+ const el = els[i];
918
+ if (!ts.isBinaryExpression(el) ||
919
+ el.operatorToken.kind !== ts.SyntaxKind.EqualsToken ||
920
+ !ts.isIdentifier(el.left) ||
921
+ !ts.isClassExpression(el.right))
922
+ continue;
923
+ const name = el.left.text;
924
+ const cls = el.right;
925
+ const target = el.left;
926
+ const decl = top.get(name)?.node;
927
+ if (decl === undefined ||
928
+ !ts.isVariableDeclaration(decl) ||
929
+ decl.initializer !== undefined ||
930
+ duplicate.has(name) ||
931
+ writes.get(name) !== 1 ||
932
+ (cls.name !== undefined && cls.name.text !== name) ||
933
+ // The binding's declarator (and the class's own name, if spelled).
934
+ countDeclarations(sf, name) !== (cls.name === undefined ? 1 : 2) ||
935
+ !definitionInert(cls) ||
936
+ !heritageOk(cls) ||
937
+ !(refsByName.get(name) ?? []).every((r) => r === target ||
938
+ // The class's own methods name the class itself.
939
+ (tokenStartOfNode(r) >= tokenStartOfNode(cls) && r.end <= cls.end) ||
940
+ inDeadAnnotation(r) ||
941
+ (insideFunction(r) &&
942
+ // The initializer's own earlier code reads the unassigned binding.
943
+ !(tokenStartOfNode(r) >= tokenStartOfNode(init.body) && tokenStartOfNode(r) < el.end))))
944
+ continue;
945
+ piece++;
946
+ const rest = `__scriptc_rest_${init.name}_${piece}`;
947
+ const close = piece === 1 ? `} ${RUN_ONCE_TAIL};` : "}";
948
+ // `a, X = class …, b`: the elements around the class end and begin
949
+ // the neighboring pieces.
950
+ // After a hoisted neighbor the separating comma is already gone.
951
+ const fresh = i === 0 || hoistedEls.has(els[i - 1]);
952
+ const from = i === 0 ? tokenStartOfNode(stmt) : fresh ? tokenStartOfNode(el) : els[i - 1].end;
953
+ const sep = fresh ? "" : ";";
954
+ hoistedEls.add(el);
955
+ edits.push({
956
+ start: from,
957
+ end: tokenStartOfNode(cls),
958
+ text: `${sep} ${rest}(); ${close} `,
959
+ });
960
+ const next = els[i + 1];
961
+ // The class's own closing brace carries the next piece's opener: an
962
+ // empty insertion at its end would share its position with the
963
+ // initializer body's closing edit in minified text (`…}}})`).
964
+ edits.push(next === undefined
965
+ ? {
966
+ start: cls.end - 1,
967
+ end: cls.end,
968
+ text: `} function ${rest}() { ${strict}`,
969
+ }
970
+ : {
971
+ start: cls.end,
972
+ end: tokenStartOfNode(next),
973
+ text: ` function ${rest}() { ${strict}`,
974
+ });
975
+ if (cls.name === undefined) {
976
+ const keyword = tokenStartOfNode(cls);
977
+ edits.push({ start: keyword, end: keyword + "class".length, text: `class ${name}` });
978
+ }
979
+ declarators.push(decl);
980
+ hoistedNames.add(name);
981
+ }
982
+ }
983
+ if (piece > 0)
984
+ out.set(init.name, { edits, declarators });
985
+ }
986
+ return out;
987
+ }
768
988
  //# sourceMappingURL=npm-static-bundled-esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm-static-bundled-esm.js","sourceRoot":"","sources":["../../src/frontend/npm-static-bundled-esm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm-static-bundled-esm.js","sourceRoot":"","sources":["../../src/frontend/npm-static-bundled-esm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA2B+C;AAC/C,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,EACV,cAAc,EACd,OAAO,GAER,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAmB1E,MAAM,iBAAiB,GACrB,wFAAwF;IACxF,0BAA0B,CAAC;AAE7B;;;8DAG8D;AAC9D,MAAM,YAAY,GAAG,iDAAiD,CAAC;AACvE,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD,SAAS,QAAQ,CAAC,IAAY,EAAE,EAAU,EAAE,GAAW,EAAE,IAAY;IACnE,OAAO,YAAY,CACjB,IAAI;SACD,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,IAAmB,EACnB,EAAiB,EACjB,QAAmC;IAEnC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;IACrC,IACE,CAAC,EAAE;QACH,CAAC,EAAE;QACH,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;QACzB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;QACzB,EAAE,CAAC,WAAW;QACd,EAAE,CAAC,WAAW;QACd,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI;QAE7B,OAAO,IAAI,CAAC;IACd,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM;YAC1F,OAAO,IAAI,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7F,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACnF,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,CAAC;IACD,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;iEACiE;AACjE,SAAS,iBAAiB,CAAC,EAAiB,EAAE,IAAyC;IACrF,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,SAAS;YACzB,KAAK,CAAC,IAAI,CACR,CAAC,GAAG,QAAQ;gBACV,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBACxF,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2EAA2E;AAC3E,SAAS,WAAW,CAAC,EAAiB;IACpC,IAAI,CAAC,GAAY,EAAE,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC;YAC7F,SAAS;QACX,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,SAAS,aAAa,CAAC,CAAgB;IACrC,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAQ,EAAE;QACvC,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAClF,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;;YAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IACF,KAAK,CAAC,CAAC,CAAC,CAAC;IACT,OAAO,GAAG,CAAC;AACb,CAAC;AAED;qDACqD;AACrD,SAAS,YAAY,CAAC,IAAmB;IACvC,IAAI,KAAK,GAAY,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACpB,OAAO,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,KAAK,GAAG,CAAC,CAAC;QACV,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAClF,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;eACe;AACf,SAAS,SAAS,CAAC,MAAqB;IACtC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IACE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,IAAI,KAAK,MAAM;QACjB,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe;QACrD,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc;QAEpD,OAAO,KAAK,CAAC;IACf,IACE,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;QAE5F,OAAO,KAAK,CAAC;IACf,OAAO,IAAI,CAAC;AACd,CAAC;AAED;4CAC4C;AAC5C,SAAS,kBAAkB,CAAC,MAAqB;IAC/C,IAAI,MAAM,GAAY,MAAM,CAAC;IAC7B,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,OAAO,CACL,CAAC,KAAK,SAAS;QACf,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC;YAClD,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED;yDACyD;AACzD,SAAS,SAAS,CAAC,EAA0B;IAC3C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,CAAU,EAA+B,EAAE;QACxD,IAAI,KAAK;YAAE,OAAO,MAAM,CAAC;QACzB,IACE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC3B,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC1B,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACzB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC9B,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC9B,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC9B,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACxB,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEvB,OAAO,MAAM,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YAAE,KAAK,GAAG,IAAI,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK;QAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/E,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa,CACpB,IAAuB;IAEvB,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU;QACtF,OAAO,IAAI,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7C,IACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACjC,CAAC,MAAM;QACP,CAAC,KAAK;QACN,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;QACxB,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrF,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED;uBACuB;AACvB,MAAM,UAAU,oBAAoB,CAClC,EAAiB,EACjB,QAAgB,EAChB,IAAiB;IAEjB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAe,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAQ,EAAE;YACpD,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gBAClC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACpF,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACxD,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,MAAM,gBAAgB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAClG,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE;QACzC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,IAAI,GACR,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,OAAO,CACL,IAAI,KAAK,SAAS;YAClB,MAAM,CAAC,IAAI,CAAC;YACZ,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,CAAC,4BAA4B,CAAC,CACjF,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACzB,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACzD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,0DAA0D;IAC1D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,SAAS;QACpF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,SAAS;QAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC9F,IAAI,OAAO,GAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAChD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACjF,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7E,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,OAAwB,CAAC,CAAC;YAC5C,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACnE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,EAAE,GAAG,OAA0E,CAAC;QACtF,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YACxE,OAAO;gBACL,OAAO,EAAE,sCAAsC,IAAI,2FAA2F;aAC/I,CAAC;QACJ,IACE,EAAE,CAAC,IAAI,KAAK,SAAS;YACrB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;YACpB,EAAE,CAAC,aAAa,KAAK,SAAS;YAC9B,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACrC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAE9B,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,sCAAsC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC/F,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,uEAAuE;IACvE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QACjC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,IACE,IAAI,KAAK,SAAS;YAClB,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,UAAU,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACjC,CAAC,YAAY,CAAC,IAAI,CAAC;YAEnB,OAAO;gBACL,OAAO,EAAE,sCAAsC,CAAC,CAAC,IAAI,0CAA0C;aAChG,CAAC;IACN,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC/E,CAAC;IAED,kEAAkE;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;YAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9C,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,IACE,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC1B,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;oBACnD,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;oBAEzB,SAAS;gBACX,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;gBACjC,IACE,IAAI,KAAK,SAAS;oBAClB,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBAC/B,IAAI,CAAC,WAAW,KAAK,SAAS;oBAC9B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;oBAEjC,SAAS;gBACX,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IACE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBACxB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;oBAC/B,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,EAC7C,CAAC;oBACD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;oBACxC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;wBAAE,SAAS;oBACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;4BAAE,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;4BAAE,UAAU,GAAG,IAAI,CAAC;6BAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY;4BAAE,SAAS;oBAC9D,CAAC;oBACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnB,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,IAAI,KAAK,IAAI;oBAAE,SAAS;gBAC5B,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,eAAe,GACnB,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;gBAChF,qDAAqD;gBACrD,MAAM,IAAI,GAAW,EAAE,CAAC;gBACxB,IAAI,EAAE,GAAG,IAAI,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC3C,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI;wBAAE,SAAS;oBAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;oBACxB,IACE,MAAM,KAAK,SAAS;wBACpB,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;wBACtC,MAAM,CAAC,UAAU,KAAK,CAAC;wBACvB,CAAC,SAAS,CAAC,MAAM,CAAC,EAClB,CAAC;wBACD,EAAE,GAAG,KAAK,CAAC;wBACX,MAAM;oBACR,CAAC;oBACD,IAAI,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;wBACnD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;oBACpF,gEAAgE;oBAChE,6DAA6D;;wBAE3D,IAAI,CAAC,IAAI,CAAC;4BACR,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;4BAC1B,GAAG,EAAE,CAAC,CAAC,GAAG;4BACV,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG;yBACxC,CAAC,CAAC;gBACP,CAAC;gBACD,IAAI,CAAC,EAAE;oBAAE,SAAS;gBAClB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC7E,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1B,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW;YAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,oEAAoE;IACpE,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,SAAS;QACzF,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;QACpB,IACE,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YAClD,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ;YACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;YAC9B,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC;YACxB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,cAAc;YAClD,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAChC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAExC,UAAU,GAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAmB,CAAC,IAAI,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsE,CAAC;IAC7F,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,SAAS;QACvF,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;YACpE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC;mCAC+B;IAC/B,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,OAA2C,EAAW,EAAE;QACvF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO;YAAE,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrF,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YAC/E,IACE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACb,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACxB,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACvB,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;oBAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBAAE,OAAO,IAAI,CAAC;YACjE,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAU,EAAE,CAClD,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE;;;;iBAIa;IACb,MAAM,cAAc,GAAG,CAAC,MAA0C,EAAE,IAAY,EAAW,EAAE;QAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACxF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QACvC,OAAO,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC,CAAC;IAEF;;;;sBAIkB;IAClB,MAAM,WAAW,GAAqC,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;YAAE,SAAS;QAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;YACpF,SAAS;QACX,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,IACE,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC/B,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,2BAA2B;gBACvE,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACjE,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YAE9B,SAAS;QACX,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IACE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;YAC7B,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,EAC3C,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;YACtC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;oBAAE,QAAQ,GAAG,IAAI,CAAC;qBAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY;oBAAE,SAAS;YAC9D,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,QAAQ,GAA6B,IAAI,CAAC;QAC9C,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAClF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,IACE,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAC1B,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;gBACjC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAEjC,SAAS;YACX,QAAQ,GAAG,IAAI,CAAC;YAChB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,IACE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACvB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9B,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,cAAc;YAChD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAEvC,SAAS;QACX,MAAM,MAAM,GAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAmB,CAAC,IAAI,CAAC;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,SAAS,GAAG;YAChB,OAAO,EAAE,6BAA6B,IAAI,wNAAwN;SACnQ,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QACrC,IACE,QAAQ,KAAK,SAAS;YACtB,CAAC,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YACnC,QAAQ,CAAC,WAAW,KAAK,SAAS;YAClC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YACtB,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;YACjC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAChB,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;YAEjC,OAAO,SAAS,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,IACE,IAAI,KAAK,SAAS;gBAClB,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,CAAC,UAAU,KAAK,GAAG;gBACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAEjC,OAAO,SAAS,CAAC;YACnB,IAAI,MAAM,GAAwB,IAAI,CAAC,MAAM,CAAC;YAC9C,IACE,MAAM,KAAK,SAAS;gBACpB,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;gBACtC,MAAM,CAAC,UAAU,KAAK,IAAI;gBAC1B,CAAC,SAAS,CAAC,MAAM,CAAC;gBAElB,OAAO,SAAS,CAAC;YACnB,4DAA4D;YAC5D,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAwB,MAAM,CAAC,MAAM,CAAC;gBACjD,IACE,KAAK,KAAK,SAAS;oBACnB,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC;oBACrC,KAAK,CAAC,UAAU,KAAK,MAAM;oBAC3B,CAAC,SAAS,CAAC,KAAK,CAAC;oBAEjB,OAAO,SAAS,CAAC;gBACnB,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,MAAM,GAAI,MAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;YACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC7E,kEAAkE;YAClE,mDAAmD;YACnD,IAAI,kBAAkB,CAAC,MAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC;gBACjF,OAAO,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;gBAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG;aACtC,CAAC,CAAC;QACL,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;YACpF,SAAS;QACX,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,mEAAmE;QACnE,IAAI,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QAC7E,IACE,CAAC,KAAK,SAAS;YACf,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1B,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI;YAEvB,SAAS;QACX,MAAM,GAAG,GAAG,gDAAgD,CAAC,CAAC,IAAI,uJAAuJ,CAAC;QAC1N,IACE,CAAC,KAAK,SAAS;YACf,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACvB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9B,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,cAAc;YAChD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAE9B,OAAO,EAAE,OAAO,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC;QAC9C,uEAAuE;QACvE,IAAI,EAAE,GAAkB,CAAC,CAAC;QAC1B,SAAS,CAAC;YACR,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAAE,EAAE,GAAG,EAAE,CAAC;iBAC7D,IACH,EAAE,KAAK,SAAS;gBAChB,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACzB,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;gBAClD,EAAE,CAAC,KAAK,KAAK,EAAE;gBAEf,EAAE,GAAG,EAAE,CAAC;;gBACL,MAAM;QACb,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,CAAC,MAA2B,EAAE,EAAW,EAAW,EAAE,CACvE,MAAM,KAAK,SAAS;YACpB,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC;YACrC,MAAM,CAAC,UAAU,KAAK,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,SAAS,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,kEAAkE;QAClE,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,8DAA8D;QAC9D,IACE,MAAM,KAAK,SAAS;YACpB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC3B,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;YAClC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,YAAY;YACnD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;YAChC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;YAClC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,UAAU,KAAK,IAAI;YACnB,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAmB,CAAC,IAAI,KAAK,UAAU,EAChE,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,IAAI,GACR,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;gBACnF,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC;YACjF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;iBAC1B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;iBACvE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACtC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;gBACtB,IAAI,EAAE,GAAG,IAAI,YAAY,UAAU,OAAO,OAAO,MAAM;aACxD,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,IACE,CAAC,QAAQ;YACT,MAAM,KAAK,SAAS;YACpB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;YAChC,MAAM,CAAC,WAAW,KAAK,EAAE;YACzB,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAC5B,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;YACjF,QAAQ;gBACN,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;oBAClC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;oBAClB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,iEAAiE;YACjE,yDAAyD;YACzD,IAAI,KAAK,GAAwB,MAAM,CAAC;YACxC,OACE,KAAK,KAAK,SAAS;gBACnB,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC;oBAClC,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;wBACzB,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC;wBACjC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;gBAErD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YACvB,IACE,KAAK,KAAK,SAAS;gBACnB,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAC5B,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe;gBACzD,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc;gBAExD,OAAO;oBACL,OAAO,EAAE,gEAAgE,CAAC,CAAC,IAAI,gGAAgG;iBAChL,CAAC;YACJ,OAAO,EAAE,OAAO,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC;QAC9C,CAAC;QACD,oEAAoE;QACpE,mDAAmD;QACnD,IAAI,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;aAC1B,GAAG,CACF,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACb,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,KAAK,CACnG;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,qEAAqE;IACrE,sCAAsC;IACtC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACrD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjF,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;QACnC,IACE,IAAI,KAAK,SAAS;YAClB,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,KAAK,SAAS;YAC9B,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAgC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACvF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAElB,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACnF,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,qEAAqE;IACrE,yEAAyE;IACzE,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR;YACE,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC;YAC7B,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,IAAI,EAAE,kEAAkE;SACzE,EACD;YACE,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,sEAAsE;YACtE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE;SAC1D,CACF,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;WACW;AACX,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,OAAO;IACP,WAAW;IACX,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,OAAO;IACP,KAAK;IACL,KAAK;IACL,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,aAAa,GACjB,mGAAmG,CAAC;AAEtG;;;;;;;;;;;;;;;;;;;;;iCAqBiC;AACjC,SAAS,gBAAgB,CACvB,EAAiB,EACjB,KAAoC,EACpC,GAA6B,EAC7B,SAA8B,EAC9B,MAAmC,EACnC,UAAgD,EAChD,YAAyC;IAEzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoE,CAAC;IACxF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC;+CAC2C;IAC3C,MAAM,gBAAgB,GAAG,CAAC,CAAU,EAAW,EAAE;QAC/C,KAAK,IAAI,KAAK,GAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACpF,IACE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACxB,CAAC,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB;gBAC9D,CAAC,CAAC,KAAK,KAAK,KAAK;gBACjB,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAuB,CAAC,IAAI,KAAK,GAAG;gBAEnD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,CAAU,EAAW,EAAE;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM;YACzE,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,GAAuB,EAAW,EAAE;QACtD,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChG,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAC3F,OAAO,KAAK,CAAC;QACf,IAAI,IAAI,GAAkB,IAAI,CAAC,UAAU,CAAC;QAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7F,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU;gBAC1B,OAAO,CACL,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC3B,yDAAyD;oBACzD,gDAAgD;oBAChD,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACxE,CAAC;YACJ,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,IAAI,KAAK,SAAS,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,KAAK,IAAI,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC;IAC5F,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,GAAuB,EAAW,EAAE,CAC3D,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC;QACxC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5E,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrF,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACxF,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IAEL,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAAE,SAAS;QAC5F,4DAA4D;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,MAAM,IAAI,GAAG,UAAU,EAAE,MAAM,CAAC;QAChC,IACE,UAAU,KAAK,SAAS;YACxB,CAAC,EAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC;YACrC,IAAI,KAAK,SAAS;YAClB,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC;YACnC,iEAAiE;YACjE,iEAAiE;YACjE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU;YAC1E,OAAO,CAAC,UAAU,CAAC,WAAY,CAAC,KAAK,IAAI,CAAC,IAAI;YAE9C,SAAS;QACX,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,WAAW,GAA6B,EAAE,CAAC;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;gBACnB,IACE,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC1B,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;oBACnD,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;oBACzB,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC;oBAE/B,SAAS;gBACX,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;gBACrB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;gBACjC,IACE,IAAI,KAAK,SAAS;oBAClB,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBAC/B,IAAI,CAAC,WAAW,KAAK,SAAS;oBAC9B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;oBAClD,mEAAmE;oBACnE,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,CAAC,eAAe,CAAC,GAAG,CAAC;oBACrB,CAAC,UAAU,CAAC,GAAG,CAAC;oBAChB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,KAAK,MAAM;wBACZ,iDAAiD;wBACjD,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;wBAClE,gBAAgB,CAAC,CAAC,CAAC;wBACnB,CAAC,cAAc,CAAC,CAAC,CAAC;4BAChB,mEAAmE;4BACnE,CAAC,CACC,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CACnF,CAAC,CACP;oBAED,SAAS;gBACX,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,kBAAkB,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,mEAAmE;gBACnE,0BAA0B;gBAC1B,iEAAiE;gBACjE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;gBACrD,MAAM,IAAI,GACR,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC;gBACpF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7B,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,IAAI;oBACX,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC;oBAC1B,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,OAAO,KAAK,GAAG;iBACpC,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,oEAAoE;gBACpE,+DAA+D;gBAC/D,8DAA8D;gBAC9D,KAAK,CAAC,IAAI,CACR,IAAI,KAAK,SAAS;oBAChB,CAAC,CAAC;wBACE,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;wBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,IAAI,EAAE,cAAc,IAAI,QAAQ,MAAM,EAAE;qBACzC;oBACH,CAAC,CAAC;wBACE,KAAK,EAAE,GAAG,CAAC,GAAG;wBACd,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC;wBAC3B,IAAI,EAAE,aAAa,IAAI,QAAQ,MAAM,EAAE;qBACxC,CACN,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -204,4 +204,133 @@ test("files without __esm initializers and ES-module bundles are left alone", ()
204
204
  expect(lower("exports.x = 1;\n")).toBeNull();
205
205
  expect(lower(`${helpers}var init_a = __esm({ "a.ts"() {} });\ninit_a();\nexport {};\n`)).toBeNull();
206
206
  });
207
+ test("a class an initializer defines into a module binding becomes a class declaration", () => {
208
+ const lowered = expectSameBehavior(`"use strict";
209
+ ${helpers}var import_stream, Shout, Loud, Plain;
210
+ var init_shout = __esm({
211
+ "src/shout.ts"() {
212
+ "use strict";
213
+ import_stream = require("stream");
214
+ console.log("shout init");
215
+ Shout = class extends import_stream.Transform {
216
+ _transform(chunk, encoding, callback) {
217
+ callback(null, String(chunk).toUpperCase());
218
+ }
219
+ };
220
+ Loud = class Loud extends Shout {
221
+ static of() { return new Loud(); }
222
+ }, Plain = class {
223
+ label() { return "plain"; }
224
+ };
225
+ console.log("after", typeof Shout, Loud.name, new Plain().label());
226
+ }
227
+ });
228
+ function main() {
229
+ init_shout();
230
+ const s = Loud.of();
231
+ s.on("data", (c) => console.log("data", String(c)));
232
+ s.end("hi");
233
+ }
234
+ console.log("start");
235
+ main();
236
+ `);
237
+ expect(lowered).toContain('class Shout extends require("stream").Transform');
238
+ expect(lowered).toContain("class Loud extends Shout");
239
+ expect(lowered).toContain("class Plain ");
240
+ // The bindings' declarators are gone with the interop binding's.
241
+ expect(lowered).not.toMatch(/var [^;=]*\b(?:import_stream|Shout|Loud|Plain)\b/);
242
+ });
243
+ test("classes whose definition or binding is observable stay assignments", () => {
244
+ const lowered = expectSameBehavior(`${helpers}var A, B, C, D;
245
+ var init_m = __esm({
246
+ "src/m.ts"() {
247
+ A = class { static made = console.log("static field runs at definition") };
248
+ B = class extends globalThis.Array {};
249
+ console.log(typeof D);
250
+ D = class {};
251
+ C = class {};
252
+ }
253
+ });
254
+ console.log(typeof C);
255
+ init_m();
256
+ console.log(typeof A, typeof B, typeof C, typeof D);
257
+ `);
258
+ expect(lowered).toContain("A = class");
259
+ expect(lowered).toContain("B = class");
260
+ expect(lowered).toContain("C = class");
261
+ expect(lowered).toContain("D = class");
262
+ });
263
+ test("an interop binding a new expression constructs through stays the callee", () => {
264
+ const lowered = expectSameBehavior(`${helpers}function make() {
265
+ return new import_events.EventEmitter();
266
+ }
267
+ var import_events;
268
+ var init_m = __esm({
269
+ "src/m.ts"() {
270
+ import_events = require("events");
271
+ }
272
+ });
273
+ init_m();
274
+ console.log(typeof make().on);
275
+ `);
276
+ expect(lowered).toContain('new (require("events")).EventEmitter()');
277
+ });
278
+ test("a hoisted class may extend a global constructor, past esbuild's export annotation", () => {
279
+ const lowered = expectSameBehavior(`${helpers}var AppError;
280
+ var init_errors = __esm({
281
+ "src/errors.ts"() {
282
+ AppError = class extends Error {
283
+ code;
284
+ constructor(message, code) {
285
+ super(message);
286
+ this.code = code;
287
+ }
288
+ };
289
+ }
290
+ });
291
+ function fail() {
292
+ init_errors();
293
+ throw new AppError("failed", "E1");
294
+ }
295
+ function main() {
296
+ try {
297
+ fail();
298
+ } catch (err) {
299
+ console.log(err instanceof AppError, err instanceof Error, err.code, err.message);
300
+ }
301
+ }
302
+ main();
303
+ 0 && (module.exports = { AppError });
304
+ `);
305
+ expect(lowered).toContain("class AppError extends Error");
306
+ });
307
+ test("an initializer declared last in a shared var statement still hoists its classes", () => {
308
+ const lowered = expectSameBehavior(`"use strict";
309
+ ${helpers}var BuildError, hints, init_errors = __esm({
310
+ "src/errors.ts"() {
311
+ "use strict";
312
+ BuildError = class extends Error {
313
+ constructor(code) {
314
+ super("failed: " + code);
315
+ this.code = code;
316
+ }
317
+ }, hints = { retry: "try again" };
318
+ }
319
+ });
320
+ function run() {
321
+ init_errors();
322
+ try {
323
+ throw new BuildError("E2");
324
+ } catch (err) {
325
+ console.log(err instanceof BuildError, err.code, err.message, hints.retry);
326
+ }
327
+ }
328
+ run();
329
+ `);
330
+ expect(lowered).toContain("class BuildError extends Error");
331
+ });
332
+ test("a minified initializer that ends with its class still hoists it", () => {
333
+ const lowered = expectSameBehavior(`${helpers}var Counter,init_counter=__esm({"src/counter.ts"(){console.log("counter init"),Counter=class{n=0;next(){return++this.n}}}});function run(){init_counter();const c=new Counter;c.next();console.log(c.next())}run();`);
334
+ expect(lowered).toContain("class Counter{");
335
+ });
207
336
  //# sourceMappingURL=npm-static-bundled-esm.test.js.map