@sun-asterisk/sungen 3.2.24-beta.6 → 3.2.25

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 (363) hide show
  1. package/dist/capabilities/context-router.d.ts.map +1 -1
  2. package/dist/capabilities/context-router.js +15 -7
  3. package/dist/capabilities/context-router.js.map +1 -1
  4. package/dist/cli/commands/capability.d.ts.map +1 -1
  5. package/dist/cli/commands/capability.js +6 -48
  6. package/dist/cli/commands/capability.js.map +1 -1
  7. package/dist/cli/commands/changed.d.ts +14 -0
  8. package/dist/cli/commands/changed.d.ts.map +1 -0
  9. package/dist/cli/commands/changed.js +128 -0
  10. package/dist/cli/commands/changed.js.map +1 -0
  11. package/dist/cli/commands/delivery.d.ts.map +1 -1
  12. package/dist/cli/commands/delivery.js +25 -1
  13. package/dist/cli/commands/delivery.js.map +1 -1
  14. package/dist/cli/commands/generate.js +1 -1
  15. package/dist/cli/commands/generate.js.map +1 -1
  16. package/dist/cli/commands/results-merge.d.ts +19 -0
  17. package/dist/cli/commands/results-merge.d.ts.map +1 -0
  18. package/dist/cli/commands/results-merge.js +191 -0
  19. package/dist/cli/commands/results-merge.js.map +1 -0
  20. package/dist/cli/commands/update.d.ts.map +1 -1
  21. package/dist/cli/commands/update.js +100 -12
  22. package/dist/cli/commands/update.js.map +1 -1
  23. package/dist/cli/index.js +4 -0
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/exporters/api-catalog-loader.d.ts.map +1 -1
  26. package/dist/exporters/api-catalog-loader.js +10 -3
  27. package/dist/exporters/api-catalog-loader.js.map +1 -1
  28. package/dist/exporters/api-testcase-formatter.d.ts +9 -0
  29. package/dist/exporters/api-testcase-formatter.d.ts.map +1 -1
  30. package/dist/exporters/api-testcase-formatter.js +55 -3
  31. package/dist/exporters/api-testcase-formatter.js.map +1 -1
  32. package/dist/exporters/csv-exporter.d.ts.map +1 -1
  33. package/dist/exporters/csv-exporter.js +10 -1
  34. package/dist/exporters/csv-exporter.js.map +1 -1
  35. package/dist/exporters/json-exporter.d.ts.map +1 -1
  36. package/dist/exporters/json-exporter.js +6 -1
  37. package/dist/exporters/json-exporter.js.map +1 -1
  38. package/dist/exporters/matrix/build.d.ts.map +1 -1
  39. package/dist/exporters/matrix/build.js +10 -0
  40. package/dist/exporters/matrix/build.js.map +1 -1
  41. package/dist/exporters/matrix/export.js +1 -1
  42. package/dist/exporters/matrix/export.js.map +1 -1
  43. package/dist/exporters/matrix/render-csv.d.ts.map +1 -1
  44. package/dist/exporters/matrix/render-csv.js +5 -1
  45. package/dist/exporters/matrix/render-csv.js.map +1 -1
  46. package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -1
  47. package/dist/exporters/matrix/render-xlsx.js +4 -1
  48. package/dist/exporters/matrix/render-xlsx.js.map +1 -1
  49. package/dist/exporters/matrix/types.d.ts +7 -0
  50. package/dist/exporters/matrix/types.d.ts.map +1 -1
  51. package/dist/exporters/matrix/types.js.map +1 -1
  52. package/dist/exporters/playwright-report-parser.d.ts +17 -2
  53. package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
  54. package/dist/exporters/playwright-report-parser.js +68 -8
  55. package/dist/exporters/playwright-report-parser.js.map +1 -1
  56. package/dist/exporters/results-merge.d.ts +46 -0
  57. package/dist/exporters/results-merge.d.ts.map +1 -0
  58. package/dist/exporters/results-merge.js +148 -0
  59. package/dist/exporters/results-merge.js.map +1 -0
  60. package/dist/exporters/selector-key-resolver.d.ts +4 -0
  61. package/dist/exporters/selector-key-resolver.d.ts.map +1 -1
  62. package/dist/exporters/selector-key-resolver.js +101 -1
  63. package/dist/exporters/selector-key-resolver.js.map +1 -1
  64. package/dist/exporters/types.d.ts +8 -1
  65. package/dist/exporters/types.d.ts.map +1 -1
  66. package/dist/exporters/xlsx-report-builder.d.ts.map +1 -1
  67. package/dist/exporters/xlsx-report-builder.js +5 -4
  68. package/dist/exporters/xlsx-report-builder.js.map +1 -1
  69. package/dist/generators/gherkin-parser/index.d.ts +2 -0
  70. package/dist/generators/gherkin-parser/index.d.ts.map +1 -1
  71. package/dist/generators/gherkin-parser/index.js +52 -1
  72. package/dist/generators/gherkin-parser/index.js.map +1 -1
  73. package/dist/generators/test-generator/adapters/adapter-interface.d.ts +20 -10
  74. package/dist/generators/test-generator/adapters/adapter-interface.d.ts.map +1 -1
  75. package/dist/generators/test-generator/adapters/appium/appium-adapter.d.ts +2 -11
  76. package/dist/generators/test-generator/adapters/appium/appium-adapter.d.ts.map +1 -1
  77. package/dist/generators/test-generator/adapters/appium/appium-adapter.js.map +1 -1
  78. package/dist/generators/test-generator/adapters/appium/templates/imports.hbs +3 -0
  79. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/biometric-action.hbs +9 -0
  80. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/check-action.hbs +11 -6
  81. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/date-picker-unsupported.hbs +4 -0
  82. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/deep-link-action.hbs +8 -0
  83. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/lifecycle-missing-app-id.hbs +5 -0
  84. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/location-services-action.hbs +11 -0
  85. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/reinstall-app-action.hbs +21 -0
  86. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/restart-app-action.hbs +16 -0
  87. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/set-connectivity-action.hbs +11 -0
  88. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/uncheck-action.hbs +9 -5
  89. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/checked-assertion.hbs +10 -4
  90. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/device-log-assertion.hbs +16 -0
  91. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/disappears-within-assertion.hbs +5 -0
  92. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/matches-format-assertion.hbs +15 -0
  93. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/not-checked-assertion.hbs +6 -4
  94. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/state-with-filter-assertion.hbs +4 -3
  95. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/still-visible-after-assertion.hbs +4 -0
  96. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/visible-filtered-assertion.hbs +5 -2
  97. package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/pull-to-refresh-action.hbs +3 -0
  98. package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/swipe-action.hbs +3 -0
  99. package/dist/generators/test-generator/adapters/appium/templates/steps/partials/appium-selector.hbs +7 -1
  100. package/dist/generators/test-generator/adapters/appium/templates/test-file.hbs +302 -29
  101. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts +2 -11
  102. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts.map +1 -1
  103. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.js.map +1 -1
  104. package/dist/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
  105. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/select-action.hbs +17 -1
  106. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/attribute-assertion.hbs +6 -1
  107. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/have-value-assertion.hbs +18 -1
  108. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-filter-assertion.hbs +5 -1
  109. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/matches-format-assertion.hbs +5 -0
  110. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/state-with-filter-assertion.hbs +4 -2
  111. package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-for-element-with-text.hbs +4 -1
  112. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/recipe-expect-text.hbs +1 -1
  113. package/dist/generators/test-generator/code-generator.d.ts +6 -0
  114. package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
  115. package/dist/generators/test-generator/code-generator.js +80 -7
  116. package/dist/generators/test-generator/code-generator.js.map +1 -1
  117. package/dist/generators/test-generator/diagnostics.d.ts +60 -6
  118. package/dist/generators/test-generator/diagnostics.d.ts.map +1 -1
  119. package/dist/generators/test-generator/diagnostics.js +59 -5
  120. package/dist/generators/test-generator/diagnostics.js.map +1 -1
  121. package/dist/generators/test-generator/patterns/expect-patterns.d.ts +7 -0
  122. package/dist/generators/test-generator/patterns/expect-patterns.d.ts.map +1 -1
  123. package/dist/generators/test-generator/patterns/expect-patterns.js +36 -2
  124. package/dist/generators/test-generator/patterns/expect-patterns.js.map +1 -1
  125. package/dist/generators/test-generator/patterns/index.d.ts +19 -12
  126. package/dist/generators/test-generator/patterns/index.d.ts.map +1 -1
  127. package/dist/generators/test-generator/patterns/index.js +58 -38
  128. package/dist/generators/test-generator/patterns/index.js.map +1 -1
  129. package/dist/generators/test-generator/patterns/types.d.ts +23 -0
  130. package/dist/generators/test-generator/patterns/types.d.ts.map +1 -1
  131. package/dist/generators/test-generator/patterns/unsupported-step-code.d.ts +18 -0
  132. package/dist/generators/test-generator/patterns/unsupported-step-code.d.ts.map +1 -0
  133. package/dist/generators/test-generator/patterns/unsupported-step-code.js +23 -0
  134. package/dist/generators/test-generator/patterns/unsupported-step-code.js.map +1 -0
  135. package/dist/generators/test-generator/recipe-expander.js +9 -1
  136. package/dist/generators/test-generator/recipe-expander.js.map +1 -1
  137. package/dist/generators/test-generator/reset-tier.d.ts +68 -0
  138. package/dist/generators/test-generator/reset-tier.d.ts.map +1 -0
  139. package/dist/generators/test-generator/reset-tier.js +94 -0
  140. package/dist/generators/test-generator/reset-tier.js.map +1 -0
  141. package/dist/generators/test-generator/step-mapper.d.ts +39 -0
  142. package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
  143. package/dist/generators/test-generator/step-mapper.js +144 -5
  144. package/dist/generators/test-generator/step-mapper.js.map +1 -1
  145. package/dist/generators/test-generator/template-engine.d.ts +2 -10
  146. package/dist/generators/test-generator/template-engine.d.ts.map +1 -1
  147. package/dist/generators/test-generator/template-engine.js +19 -2
  148. package/dist/generators/test-generator/template-engine.js.map +1 -1
  149. package/dist/generators/test-generator/utils/format-pattern.d.ts +35 -0
  150. package/dist/generators/test-generator/utils/format-pattern.d.ts.map +1 -0
  151. package/dist/generators/test-generator/utils/format-pattern.js +82 -0
  152. package/dist/generators/test-generator/utils/format-pattern.js.map +1 -0
  153. package/dist/generators/test-generator/utils/js-literal-scanner.d.ts +42 -0
  154. package/dist/generators/test-generator/utils/js-literal-scanner.d.ts.map +1 -0
  155. package/dist/generators/test-generator/utils/js-literal-scanner.js +142 -0
  156. package/dist/generators/test-generator/utils/js-literal-scanner.js.map +1 -0
  157. package/dist/generators/test-generator/utils/mask-refs-for-matching.d.ts +18 -0
  158. package/dist/generators/test-generator/utils/mask-refs-for-matching.d.ts.map +1 -0
  159. package/dist/generators/test-generator/utils/mask-refs-for-matching.js +25 -0
  160. package/dist/generators/test-generator/utils/mask-refs-for-matching.js.map +1 -0
  161. package/dist/generators/test-generator/utils/runtime-data-transformer.d.ts +9 -1
  162. package/dist/generators/test-generator/utils/runtime-data-transformer.d.ts.map +1 -1
  163. package/dist/generators/test-generator/utils/runtime-data-transformer.js +124 -63
  164. package/dist/generators/test-generator/utils/runtime-data-transformer.js.map +1 -1
  165. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  166. package/dist/generators/test-generator/utils/selector-resolver.js +24 -1
  167. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  168. package/dist/generators/test-generator/utils/spec-syntax-check.d.ts +14 -0
  169. package/dist/generators/test-generator/utils/spec-syntax-check.d.ts.map +1 -0
  170. package/dist/generators/test-generator/utils/spec-syntax-check.js +26 -0
  171. package/dist/generators/test-generator/utils/spec-syntax-check.js.map +1 -0
  172. package/dist/harness/annotation-overrides.d.ts +0 -12
  173. package/dist/harness/annotation-overrides.d.ts.map +1 -1
  174. package/dist/harness/annotation-overrides.js +9 -5
  175. package/dist/harness/annotation-overrides.js.map +1 -1
  176. package/dist/harness/audit.d.ts.map +1 -1
  177. package/dist/harness/audit.js +7 -5
  178. package/dist/harness/audit.js.map +1 -1
  179. package/dist/harness/capability-plan.d.ts +2 -1
  180. package/dist/harness/capability-plan.d.ts.map +1 -1
  181. package/dist/harness/capability-plan.js +14 -4
  182. package/dist/harness/capability-plan.js.map +1 -1
  183. package/dist/harness/capability.d.ts +11 -0
  184. package/dist/harness/capability.d.ts.map +1 -1
  185. package/dist/harness/capability.js +8 -0
  186. package/dist/harness/capability.js.map +1 -1
  187. package/dist/harness/catalog/drivers.yaml +5 -0
  188. package/dist/harness/parse.d.ts +1 -0
  189. package/dist/harness/parse.d.ts.map +1 -1
  190. package/dist/harness/parse.js +6 -1
  191. package/dist/harness/parse.js.map +1 -1
  192. package/dist/harness/run-manifest.d.ts +58 -0
  193. package/dist/harness/run-manifest.d.ts.map +1 -0
  194. package/dist/harness/run-manifest.js +264 -0
  195. package/dist/harness/run-manifest.js.map +1 -0
  196. package/dist/harness/script-check.d.ts.map +1 -1
  197. package/dist/harness/script-check.js +6 -2
  198. package/dist/harness/script-check.js.map +1 -1
  199. package/dist/harness/sensors.d.ts.map +1 -1
  200. package/dist/harness/sensors.js +5 -1
  201. package/dist/harness/sensors.js.map +1 -1
  202. package/dist/harness/viewpoint-ledger.d.ts +1 -1
  203. package/dist/harness/viewpoint-ledger.d.ts.map +1 -1
  204. package/dist/harness/viewpoint-ledger.js +25 -4
  205. package/dist/harness/viewpoint-ledger.js.map +1 -1
  206. package/dist/index.d.ts +1 -0
  207. package/dist/index.d.ts.map +1 -1
  208. package/dist/index.js +5 -1
  209. package/dist/index.js.map +1 -1
  210. package/dist/orchestrator/lockstep-version.d.ts +22 -0
  211. package/dist/orchestrator/lockstep-version.d.ts.map +1 -0
  212. package/dist/orchestrator/lockstep-version.js +58 -0
  213. package/dist/orchestrator/lockstep-version.js.map +1 -0
  214. package/dist/orchestrator/mobile-runtime-scaffolder.d.ts.map +1 -1
  215. package/dist/orchestrator/mobile-runtime-scaffolder.js +5 -1
  216. package/dist/orchestrator/mobile-runtime-scaffolder.js.map +1 -1
  217. package/dist/orchestrator/project-deps-sync.d.ts +39 -0
  218. package/dist/orchestrator/project-deps-sync.d.ts.map +1 -0
  219. package/dist/orchestrator/project-deps-sync.js +175 -0
  220. package/dist/orchestrator/project-deps-sync.js.map +1 -0
  221. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  222. package/dist/orchestrator/project-initializer.js +5 -2
  223. package/dist/orchestrator/project-initializer.js.map +1 -1
  224. package/dist/orchestrator/templates/ai-src/commands/run-test.md +109 -0
  225. package/dist/orchestrator/templates/ai-src/config/claude.md +1 -1
  226. package/dist/orchestrator/templates/ai-src/config/copilot.md +1 -1
  227. package/dist/orchestrator/templates/ai-src/skills/sungen-api-design/SKILL.md +49 -0
  228. package/dist/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +14 -3
  229. package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +120 -10
  230. package/dist/orchestrator/templates/ai-src/skills/sungen-locale/SKILL.md +1 -1
  231. package/dist/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +31 -0
  232. package/dist/orchestrator/templates/ai-src/skills/sungen-selector-fix/SKILL.md +1 -1
  233. package/dist/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +9 -0
  234. package/dist/orchestrator/templates/ai-src/skills/sungen-tc-review/SKILL.md +15 -0
  235. package/dist/orchestrator/templates/env.appium.example +21 -0
  236. package/dist/orchestrator/templates/specs-api.d.ts +4 -2
  237. package/dist/orchestrator/templates/specs-api.d.ts.map +1 -1
  238. package/dist/orchestrator/templates/specs-api.js +233 -10
  239. package/dist/orchestrator/templates/specs-api.js.map +1 -1
  240. package/dist/orchestrator/templates/specs-api.ts +214 -11
  241. package/dist/orchestrator/templates/specs-db.d.ts.map +1 -1
  242. package/dist/orchestrator/templates/specs-db.js +79 -6
  243. package/dist/orchestrator/templates/specs-db.js.map +1 -1
  244. package/dist/orchestrator/templates/specs-db.ts +70 -7
  245. package/dist/orchestrator/templates/specs-regex-escape.d.ts +13 -0
  246. package/dist/orchestrator/templates/specs-regex-escape.d.ts.map +1 -0
  247. package/dist/orchestrator/templates/specs-regex-escape.js +19 -0
  248. package/dist/orchestrator/templates/specs-regex-escape.js.map +1 -0
  249. package/dist/orchestrator/templates/specs-regex-escape.ts +16 -0
  250. package/dist/orchestrator/templates/specs-test-data.ts +53 -6
  251. package/dist/orchestrator/templates/wdio.conf.ts +126 -10
  252. package/dist/utils/selector-types.d.ts +1 -1
  253. package/dist/utils/selector-types.d.ts.map +1 -1
  254. package/dist/utils/selector-types.js +1 -0
  255. package/dist/utils/selector-types.js.map +1 -1
  256. package/package.json +8 -6
  257. package/src/capabilities/context-router.ts +13 -5
  258. package/src/cli/commands/capability.ts +4 -38
  259. package/src/cli/commands/changed.ts +104 -0
  260. package/src/cli/commands/delivery.ts +27 -2
  261. package/src/cli/commands/generate.ts +1 -1
  262. package/src/cli/commands/results-merge.ts +153 -0
  263. package/src/cli/commands/update.ts +72 -13
  264. package/src/cli/index.ts +4 -0
  265. package/src/exporters/api-catalog-loader.ts +10 -2
  266. package/src/exporters/api-testcase-formatter.ts +59 -3
  267. package/src/exporters/csv-exporter.ts +11 -2
  268. package/src/exporters/json-exporter.ts +7 -2
  269. package/src/exporters/matrix/build.ts +9 -0
  270. package/src/exporters/matrix/export.ts +1 -1
  271. package/src/exporters/matrix/render-csv.ts +5 -1
  272. package/src/exporters/matrix/render-xlsx.ts +4 -1
  273. package/src/exporters/matrix/types.ts +7 -0
  274. package/src/exporters/playwright-report-parser.ts +68 -9
  275. package/src/exporters/results-merge.ts +150 -0
  276. package/src/exporters/selector-key-resolver.ts +81 -1
  277. package/src/exporters/types.ts +8 -1
  278. package/src/exporters/xlsx-report-builder.ts +5 -4
  279. package/src/generators/gherkin-parser/index.ts +55 -1
  280. package/src/generators/test-generator/adapters/adapter-interface.ts +23 -1
  281. package/src/generators/test-generator/adapters/appium/appium-adapter.ts +2 -2
  282. package/src/generators/test-generator/adapters/appium/templates/imports.hbs +3 -0
  283. package/src/generators/test-generator/adapters/appium/templates/steps/actions/biometric-action.hbs +9 -0
  284. package/src/generators/test-generator/adapters/appium/templates/steps/actions/check-action.hbs +11 -6
  285. package/src/generators/test-generator/adapters/appium/templates/steps/actions/date-picker-unsupported.hbs +4 -0
  286. package/src/generators/test-generator/adapters/appium/templates/steps/actions/deep-link-action.hbs +8 -0
  287. package/src/generators/test-generator/adapters/appium/templates/steps/actions/lifecycle-missing-app-id.hbs +5 -0
  288. package/src/generators/test-generator/adapters/appium/templates/steps/actions/location-services-action.hbs +11 -0
  289. package/src/generators/test-generator/adapters/appium/templates/steps/actions/reinstall-app-action.hbs +21 -0
  290. package/src/generators/test-generator/adapters/appium/templates/steps/actions/restart-app-action.hbs +16 -0
  291. package/src/generators/test-generator/adapters/appium/templates/steps/actions/set-connectivity-action.hbs +11 -0
  292. package/src/generators/test-generator/adapters/appium/templates/steps/actions/uncheck-action.hbs +9 -5
  293. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/checked-assertion.hbs +10 -4
  294. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/device-log-assertion.hbs +16 -0
  295. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/disappears-within-assertion.hbs +5 -0
  296. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/matches-format-assertion.hbs +15 -0
  297. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/not-checked-assertion.hbs +6 -4
  298. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/state-with-filter-assertion.hbs +4 -3
  299. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/still-visible-after-assertion.hbs +4 -0
  300. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/visible-filtered-assertion.hbs +5 -2
  301. package/src/generators/test-generator/adapters/appium/templates/steps/gestures/pull-to-refresh-action.hbs +3 -0
  302. package/src/generators/test-generator/adapters/appium/templates/steps/gestures/swipe-action.hbs +3 -0
  303. package/src/generators/test-generator/adapters/appium/templates/steps/partials/appium-selector.hbs +7 -1
  304. package/src/generators/test-generator/adapters/appium/templates/test-file.hbs +302 -29
  305. package/src/generators/test-generator/adapters/playwright/playwright-adapter.ts +2 -2
  306. package/src/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
  307. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/select-action.hbs +17 -1
  308. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/attribute-assertion.hbs +6 -1
  309. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/have-value-assertion.hbs +18 -1
  310. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-filter-assertion.hbs +5 -1
  311. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/matches-format-assertion.hbs +5 -0
  312. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/state-with-filter-assertion.hbs +4 -2
  313. package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-for-element-with-text.hbs +4 -1
  314. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/recipe-expect-text.hbs +1 -1
  315. package/src/generators/test-generator/code-generator.ts +86 -7
  316. package/src/generators/test-generator/diagnostics.ts +60 -6
  317. package/src/generators/test-generator/patterns/expect-patterns.ts +37 -2
  318. package/src/generators/test-generator/patterns/index.ts +58 -33
  319. package/src/generators/test-generator/patterns/types.ts +36 -0
  320. package/src/generators/test-generator/patterns/unsupported-step-code.ts +19 -0
  321. package/src/generators/test-generator/recipe-expander.ts +9 -1
  322. package/src/generators/test-generator/reset-tier.ts +93 -0
  323. package/src/generators/test-generator/step-mapper.ts +149 -6
  324. package/src/generators/test-generator/template-engine.ts +22 -3
  325. package/src/generators/test-generator/utils/format-pattern.ts +79 -0
  326. package/src/generators/test-generator/utils/js-literal-scanner.ts +132 -0
  327. package/src/generators/test-generator/utils/mask-refs-for-matching.ts +21 -0
  328. package/src/generators/test-generator/utils/runtime-data-transformer.ts +126 -76
  329. package/src/generators/test-generator/utils/selector-resolver.ts +26 -1
  330. package/src/generators/test-generator/utils/spec-syntax-check.ts +22 -0
  331. package/src/harness/annotation-overrides.ts +10 -5
  332. package/src/harness/audit.ts +7 -5
  333. package/src/harness/capability-plan.ts +13 -6
  334. package/src/harness/capability.ts +16 -0
  335. package/src/harness/catalog/drivers.yaml +5 -0
  336. package/src/harness/parse.ts +7 -1
  337. package/src/harness/run-manifest.ts +254 -0
  338. package/src/harness/script-check.ts +6 -2
  339. package/src/harness/sensors.ts +5 -1
  340. package/src/harness/viewpoint-ledger.ts +26 -5
  341. package/src/index.ts +1 -0
  342. package/src/orchestrator/lockstep-version.ts +46 -0
  343. package/src/orchestrator/mobile-runtime-scaffolder.ts +5 -1
  344. package/src/orchestrator/project-deps-sync.ts +175 -0
  345. package/src/orchestrator/project-initializer.ts +5 -2
  346. package/src/orchestrator/templates/ai-src/commands/run-test.md +109 -0
  347. package/src/orchestrator/templates/ai-src/config/claude.md +1 -1
  348. package/src/orchestrator/templates/ai-src/config/copilot.md +1 -1
  349. package/src/orchestrator/templates/ai-src/skills/sungen-api-design/SKILL.md +49 -0
  350. package/src/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +14 -3
  351. package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +120 -10
  352. package/src/orchestrator/templates/ai-src/skills/sungen-locale/SKILL.md +1 -1
  353. package/src/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +31 -0
  354. package/src/orchestrator/templates/ai-src/skills/sungen-selector-fix/SKILL.md +1 -1
  355. package/src/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +9 -0
  356. package/src/orchestrator/templates/ai-src/skills/sungen-tc-review/SKILL.md +15 -0
  357. package/src/orchestrator/templates/env.appium.example +21 -0
  358. package/src/orchestrator/templates/specs-api.ts +214 -11
  359. package/src/orchestrator/templates/specs-db.ts +70 -7
  360. package/src/orchestrator/templates/specs-regex-escape.ts +16 -0
  361. package/src/orchestrator/templates/specs-test-data.ts +53 -6
  362. package/src/orchestrator/templates/wdio.conf.ts +126 -10
  363. package/src/utils/selector-types.ts +1 -0
@@ -10,10 +10,12 @@ const step_mapper_1 = require("./step-mapper");
10
10
  const adapters_1 = require("./adapters");
11
11
  const runtime_data_transformer_1 = require("./utils/runtime-data-transformer");
12
12
  const diagnostics_1 = require("./diagnostics");
13
+ const reset_tier_1 = require("./reset-tier");
13
14
  const registry_1 = require("../../capabilities/registry");
14
15
  const discover_1 = require("../../capabilities/discover");
15
16
  const capability_1 = require("../../harness/capability");
16
17
  const scenario_merger_1 = require("../../exporters/scenario-merger");
18
+ const spec_syntax_check_1 = require("./utils/spec-syntax-check");
17
19
  /**
18
20
  * Filter base scenario steps for @extend: only keep Given→When steps.
19
21
  * Skips Then and any And/But that follow Then (since And/But inherit
@@ -82,7 +84,7 @@ function extractCleanupFlags(tags) {
82
84
  const FUNCTIONAL_TAG_PREFIXES = [
83
85
  '@parallel', '@serial', '@cleanup:', '@auth:', '@manual', '@no-auth',
84
86
  '@steps:', '@extend:', '@screenshot:', '@beforeAll', '@afterEach', '@afterAll',
85
- '@flow', '@cases:', '@deferred:', '@owned-by:', '@platform:',
87
+ '@flow', '@cases:', '@deferred:', '@owned-by:', '@platform:', '@reset:',
86
88
  ];
87
89
  function extractPassThroughTags(scenarioTags, featureTags) {
88
90
  const allTags = [...featureTags, ...scenarioTags];
@@ -298,7 +300,15 @@ class CodeGenerator {
298
300
  this.syncGeneratedHelper(outputDir, h.file, h.template);
299
301
  }
300
302
  // Generate test code (async now to support AI mapping)
301
- const testCode = await this.generateTestCode(feature);
303
+ let testCode = await this.generateTestCode(feature);
304
+ // Runtime data: replace __SUNGEN_TD$…$__ markers with testData.get() calls.
305
+ // Runs BEFORE the imports are rendered so they can reflect what the transformed
306
+ // body actually references (a marker inside a regex literal becomes an
307
+ // escapeRegExp(...) call that needs its helper imported). Imports carry no
308
+ // markers, so transforming only the body loses nothing.
309
+ if (this.options.runtimeData) {
310
+ testCode = (0, runtime_data_transformer_1.transformToRuntimeData)(testCode);
311
+ }
302
312
  // `url-assert` is imported from what the body actually emitted, not from an active capability:
303
313
  // page assertions belong to the DEFAULT ui capability, so a capability flag would import the
304
314
  // helper into every UI spec — including the many that touch no URL at all. Hence the body is
@@ -307,14 +317,23 @@ class CodeGenerator {
307
317
  const urlAssertImports = ['urlMatches', 'joinPath'].filter((n) => testCode.includes(`${n}(`)).join(', ');
308
318
  if (urlAssertImports)
309
319
  this.syncGeneratedHelper(outputDir, 'url-assert.ts', 'specs-url-assert.ts');
310
- const imports = this.adapter.renderImports({ runtimeData: this.options.runtimeData, basePath, needsCleanupImport, needsDb, needsApi, needsMock, urlAssertImports });
320
+ // Same body-first rule for the runtime regex-escape helper: only a spec whose
321
+ // transformed body wraps a value in escapeRegExp() imports (and syncs) it.
322
+ const regexEscapeImport = /\bescapeRegExp\(/.test(testCode);
323
+ if (regexEscapeImport)
324
+ this.syncGeneratedHelper(outputDir, 'regex-escape.ts', 'specs-regex-escape.ts');
325
+ const imports = this.adapter.renderImports({ runtimeData: this.options.runtimeData, basePath, needsCleanupImport, needsDb, needsApi, needsMock, urlAssertImports, regexEscapeImport });
311
326
  // Combine and collapse any runs of 3+ newlines down to 2 (one blank line max)
312
327
  const raw = `${imports}\n\n${testCode}`;
313
328
  let code = raw.replace(/\n{3,}/g, '\n\n');
314
- // Runtime data: replace __SUNGEN_TD$…$__ markers with testData.get() calls
315
- if (this.options.runtimeData) {
316
- code = (0, runtime_data_transformer_1.transformToRuntimeData)(code);
317
- }
329
+ // SG-E022 compiler self-check. Every template and post-processor above assembles
330
+ // TEXT, so a delimiter bug in any of them yields a file Playwright cannot parse at all:
331
+ // one SyntaxError, zero scenarios run. That is exactly how the runtime-data quote-pairing
332
+ // defect reached a user — `sungen generate` reported success and the breakage only
333
+ // surfaced at `npx playwright test`, a step further from the cause. Parsing what we are
334
+ // about to write makes the compiler name its own bad output, at the moment it makes it.
335
+ // (The runtime-data transform itself ran on the body above, before the imports.)
336
+ this.assertParseable(code, feature.name, filePath);
318
337
  return {
319
338
  featureName: feature.name,
320
339
  filePath,
@@ -323,6 +342,20 @@ class CodeGenerator {
323
342
  stepCount: this.countSteps(feature),
324
343
  };
325
344
  }
345
+ /**
346
+ * Report SG-E022 when the emitted spec is not parseable. Reported, never thrown: the
347
+ * caller still writes the file, so the user keeps the artifact to inspect (and `--strict`
348
+ * turns it into a non-zero exit like every other diagnostic).
349
+ */
350
+ assertParseable(code, featureName, filePath) {
351
+ const detail = (0, spec_syntax_check_1.findSyntaxError)(code);
352
+ if (!detail)
353
+ return;
354
+ this.diagnostics.add('SG-E022', `generated spec "${filePath}" is not parseable TypeScript (${detail}) — Playwright will `
355
+ + 'fail the whole file with one SyntaxError and run NONE of its scenarios. This is a sungen '
356
+ + 'compiler bug, not a problem with the .feature: please report it with the step this file '
357
+ + 'was generated from.', { feature: featureName });
358
+ }
326
359
  /**
327
360
  * Count total steps in feature (excluding background).
328
361
  * For @extend scenarios, counts base steps + own steps (merged total).
@@ -696,6 +729,44 @@ class CodeGenerator {
696
729
  // package (activity stripped, it isn't needed for terminateApp/activateApp); iosBundleId is the part
697
730
  // after `|` when present. Without these the test-file template's `{{#if appPackage}}` stays false and
698
731
  // the beforeEach (terminate+activate) reset is never emitted → nav scenarios cascade-fail.
732
+ // Mobile: how much state each scenario starts from — `@reset:none|soft|data|full`, default 'soft'
733
+ // (the terminate+activate relaunch this adapter always did, so an untagged feature is unchanged).
734
+ // Appium-only: web features get a clean slate from navigation and carry no tier.
735
+ const resetTier = this.adapter.frameworkName === 'appium'
736
+ ? ((0, reset_tier_1.parseResetTier)(feature.tags || []) ?? reset_tier_1.DEFAULT_RESET_TIER)
737
+ : undefined;
738
+ // Per-scenario `@reset:` overrides. Keyed on the scenario's BASE name — NOT the rendered it()
739
+ // title, because a @cases scenario concatenates its title at runtime from the row label, so no
740
+ // compile-time key could match it. The generated spec normalizes a title back to a base name and
741
+ // membership-tests each step, so a miss just inherits the feature tier rather than guessing wrong.
742
+ // `cases` marks a scenario whose it() title is BUILT AT RUNTIME (`name + ' — ' + row.__label`).
743
+ // Only those titles may have a row suffix stripped when looking a tier up; applying that strip to
744
+ // every scenario let a name that merely LOOKED like `<base> — <suffix>` resolve to a different
745
+ // scenario's tier.
746
+ const scenarioResetTiers = this.adapter.frameworkName === 'appium'
747
+ ? (feature.scenarios || []).reduce((acc, sc) => {
748
+ const tier = (0, reset_tier_1.parseResetTier)(sc.tags || []);
749
+ if (tier)
750
+ acc.push({ name: sc.name, tier, cases: (sc.tags || []).some(t => t.startsWith('@cases:')) });
751
+ return acc;
752
+ }, [])
753
+ : undefined;
754
+ // SG-W024 — the runtime lookup is keyed on the scenario NAME, so two scenarios sharing a name
755
+ // cannot be told apart. Counted over EVERY scenario, not just the tagged ones: an UNTAGGED
756
+ // scenario sharing a name with a tagged one silently inherits that tier (weakening a
757
+ // `@reset:none` chain, or paying a reinstall it never asked for), and scanning only the tagged
758
+ // subset missed exactly that case.
759
+ if (scenarioResetTiers && scenarioResetTiers.length) {
760
+ const tiered = new Set(scenarioResetTiers.map(t => t.name));
761
+ const counts = new Map();
762
+ for (const sc of feature.scenarios || [])
763
+ counts.set(sc.name, (counts.get(sc.name) || 0) + 1);
764
+ for (const [name, n] of counts) {
765
+ if (n < 2 || !tiered.has(name))
766
+ continue;
767
+ this.diagnostics.add('SG-W024', `${n} scenarios in this feature are named "${name}" and at least one carries a @reset: tag — the generated lookup is keyed on the scenario NAME, so every one of them resolves to the SAME tier, including any that declared none. Rename them so each is unique.`, { feature: feature.name, step: name });
768
+ }
769
+ }
699
770
  let appPackage;
700
771
  let iosBundleId;
701
772
  if (this.adapter.frameworkName === 'appium' && feature.path) {
@@ -731,6 +802,8 @@ class CodeGenerator {
731
802
  singleAuthRole,
732
803
  appPackage,
733
804
  iosBundleId,
805
+ resetTier,
806
+ scenarioResetTiers: scenarioResetTiers && scenarioResetTiers.length ? scenarioResetTiers : undefined,
734
807
  });
735
808
  }
736
809
  async generateBackgroundSteps(background) {
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,+CAA2C;AAC3C,yCAAmE;AACnE,+EAA0E;AAC1E,+CAAqD;AACrD,0DAAiE;AACjE,0DAA8E;AAC9E,yDAA4D;AAC5D,qEAAsE;AAEtE;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,KAAmB;IACnD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,kBAAkB,GAAG,OAAO,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YACrD,kBAAkB,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,6CAA6C;QAC7C,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAc;IAC1C,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACpC,MAAM,CAAC,GAAG,CAAC,EAAE;QACZ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;IACrE,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,SAAS;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAU,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAClB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG;IAC9B,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU;IACpE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW;IAC9E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;CAC7D,CAAC;AAEF,SAAS,sBAAsB,CAAC,YAAsB,EAAE,WAAqB;IAC3E,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvC,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAChE,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,IAAc,EAAE,aAAqB;IAClE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,yBAAyB,CAAC,UAAkB;IACnD,MAAM,KAAK,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAG,aAAa,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACnG,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAc;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,YAAsB,EACtB,WAAqB;IAErB,uCAAuC;IACvC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,kCAAkC;IAClC,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,6BAA6B;IAC7B,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACjD,OAAO,WAAW,CAAC;AACrB,CAAC;AAGD;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAwB;IAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM;YAAE,MAAM,GAAG,EAAE,CAAC;QAClE,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAc;IAC9B,mGAAmG;IACnG,6FAA6F;IAC7F,oGAAoG;IACpG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,gBAAgB,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAc;IAClC,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAC3D,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAc,EAAE,OAAe;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CACV,4BAA4B,OAAO,IAAI;YACvC,YAAY,QAAQ,CAAC,CAAC,CAAC,kBAAkB;YACzC,eAAe,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAaD,MAAa,aAAa;IAYxB,YAAY,UAAwJ,EAAE;QAPtK,gGAAgG;QACxF,oBAAe,GAAW,EAAE,CAAC;QACrC,mFAAmF;QAC3E,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QAElD,gBAAW,GAAG,IAAI,kCAAoB,EAAE,CAAC;QAoxBjD;;WAEG;QACH;;;;;;;WAOG;QACK,oBAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QA5xB1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,2EAA2E;QAC3E,wEAAwE;QACxE,6EAA6E;QAC7E,gFAAgF;QAChF,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,0BAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAEzD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC,aAAa,UAAU,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAAsB,EACtB,SAAiB;QAEjB,wEAAwE;QACxE,IAAI,QAAgB,CAAC;QACrB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,sDAAsD;YACtD,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACrF,QAAQ,GAAG,GAAG,QAAQ,UAAU,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,sFAAsF;QACtF,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1G,sCAAsC;QACtC,MAAM,QAAQ,GAAG,YAAY;YAC3B,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC;YAC9C,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEnC,qFAAqF;QACrF,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtE,+FAA+F;QAC/F,6FAA6F;QAC7F,qFAAqF;QACrF,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,CAAU,qCAAqC;QAC1F,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QACjF,MAAM,kBAAkB,GAAG,eAAe,IAAI,cAAc,CAAC,CAAE,iDAAiD;QAEhH,gGAAgG;QAChG,wFAAwF;QACxF,oEAAoE;QACpE,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvD,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,6BAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,cAAc,IAAI,EAAE;gBAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5H,CAAC;QAED,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEtD,+FAA+F;QAC/F,6FAA6F;QAC7F,6FAA6F;QAC7F,6FAA6F;QAC7F,6FAA6F;QAC7F,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzG,IAAI,gBAAgB;YAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;QAElG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEpK,8EAA8E;QAC9E,MAAM,GAAG,GAAG,GAAG,OAAO,OAAO,QAAQ,EAAE,CAAC;QACxC,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE1C,2EAA2E;QAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAA,iDAAsB,EAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,QAAQ;YACR,IAAI;YACJ,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,UAAU,CAAC,OAAsB;QACvC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAS;YACtD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC1D,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,aAA4B;QACpC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,YAAE,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH;;;;;OAKG;IACK,mBAAmB,CAAC,OAAsB;QAChD,IAAA,0CAA+B,GAAE,CAAC;QAClC,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,UAAU,EAAE,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvE,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE;YAAE,IAAI,EAAE,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAChF,gFAAgF;QAChF,+EAA+E;QAC/E,6EAA6E;QAC7E,8BAA8B;QAC9B,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;SAC5D,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,MAAM,GAAG,GAAG,6BAAkB,CAAC,mBAAmB,EAAE,CAAC;QACrD,IAAI,GAAG;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,6BAAkB,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7G,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3H,IAAI,SAAS,IAAI,SAAS;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,kFAAkF;QAClF,kFAAkF;QAClF,qEAAqE;QACrE,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;YAChF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,+CAA+C,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrH,IAAI,SAAS,IAAI,CAAC,6BAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,IAAI,wHAAwH,CAAC,CAAC;QACtJ,CAAC;QACD,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,IAAI,4JAA4J,CAAC,CAAC;QAC1L,CAAC;QAED,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,QAAwB;QACtD,IAAA,0CAA+B,GAAE,CAAC;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,GAAG,GAAoE,EAAE,CAAC;QAChF,KAAK,MAAM,GAAG,IAAI,6BAAkB,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,mBAAmB;gBAAE,SAAS;YACvC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,oGAAoG;QACpG,sGAAsG;QACtG,mGAAmG;QACnG,MAAM,GAAG,GAAG,CAAC,CAA2B,EAAU,EAAE;YAClD,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,SAAiB,EAAE,QAAgB,EAAE,YAAoB;QACnF,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACjG,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO;QACzC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,MAAM,IAAI,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,kBAAkB;QACtF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,WAAW,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,cAAc,CAAC,SAAiB;QAC9B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAChE,2DAA2D;QAC3D,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAsB;QACnD,yFAAyF;QACzF,IAAI,WAAmB,CAAC;QACxB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,0EAA0E;YAC1E,WAAW,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,sFAAsF;YACtF,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,kGAAkG;QAClG,mGAAmG;QACnG,4FAA4F;QAC5F,IAAI,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAI,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5C,IAAI,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,mBAAmB,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBAClB,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;gBACzB,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,uCAAuC;gBACpG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,6GAA6G;QAC7G,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAE9B,kEAAkE;QAClE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAE3C,yDAAyD;QACzD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7D,8CAA8C;QAC9C,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvE,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,4DAA4D;QAC5D,kFAAkF;QAClF,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QACvD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,SAAS,0BAA0B,CAAC,CAAC;gBACzF,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QACxD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,8BAA8B,CAAC,CAAC;gBAChF,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,gGAAgG;QAChG,kGAAkG;QAClG,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE7D,gCAAgC;QAChC,IAAI,UAA8B,CAAC;QACnC,IAAI,eAAsE,CAAC;QAC3E,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,kGAAkG;YAClG,qGAAqG;YACrG,gGAAgG;YAChG,2FAA2F;YAC3F,kGAAkG;YAClG,kGAAkG;YAClG,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC;YACzD,MAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnF,IAAI,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACxC,OAAO,CAAC,UAAU;gBAClB,6EAA6E;gBAC7E,8EAA8E;gBAC9E,6EAA6E;gBAC7E,uCAAuC;gBACvC,UAAU;oBACR,CAAC,CAAC,CAAC;4BACC,OAAO,EAAE,8DAA8D;4BACvE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,gFAAgF,EAAE,CAAC,CAAC;yBAC3G,CAAC;oBACJ,CAAC,CAAC,EAAE,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACzE,iFAAiF;gBACjF,8EAA8E;gBAC9E,+EAA+E;gBAC/E,8CAA8C;gBAC9C,IAAI,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5B,eAAe,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,uDAAuD;wBAChE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,sCAAsC,EAAE,CAAC,CAAC;qBACjE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC;YAC9C,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAE,EAAE,WAAW,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC;YAC9C,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAE,EAAE,WAAW,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAC5C,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAE,EAAE,UAAU,CAAC;YACrE,CAAC,CAAC,SAAS,CAAC;QAEd,2DAA2D;QAC3D,qCAAqC;QACrC,4CAA4C;QAC5C,+FAA+F;QAC/F,iFAAiF;QACjF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,IAAA,6BAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEvG,MAAM,iBAAiB,GAA+C,EAAE,CAAC;QACzE,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,sDAAsD;gBACtD,mFAAmF;gBACnF,mFAAmF;gBACnF,8EAA8E;gBAC9E,oDAAoD;gBACpD,gFAAgF;gBAChF,iFAAiF;gBACjF,iFAAiF;gBACjF,mFAAmF;gBACnF,mFAAmF;gBACnF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/C,IAAI,YAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAC5B,qBAAqB,QAAQ,CAAC,IAAI,sOAAsO,EACxQ,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpD,CAAC;qBAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,IAAA,qCAAmB,EAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;oBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACpD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;4BAC7D,CAAC,CAAC,iDAAiD;4BACnD,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,0DAA0D;gCACnF,CAAC,CAAC,oDAAoD,CAAC;wBACzD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAC5B,qBAAqB,QAAQ,CAAC,IAAI,yEAAyE,OAAO,gKAAgK,EAClR,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,iCAAiC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,mFAAmF;YACnF,mFAAmF;YACnF,gFAAgF;YAChF,+EAA+E;YAC/E,0EAA0E;YAC1E,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,qCAAqC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,SAAS;YACX,CAAC;YAED,uFAAuF;YACvF,6FAA6F;YAC7F,6CAA6C;YAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5G,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/G,SAAS;YACX,CAAC;YAED,2EAA2E;YAC3E,IAAI,eAAe,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAClE,IAAI,YAAY,EAAE,CAAC;oBACjB,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACtC,QAAQ,EACR,CAAC,CAAC,OAAO,CAAC,UAAU,EACpB,OAAO,CAAC,IAAI,IAAI,EAAE,EAClB,UAAU,CACX,CAAC;YACF,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,+DAA+D;QAC/D,oEAAoE;QACpE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;QACjD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,QAAQ,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxC,QAAQ,EAAE,GAAG,IAAI,SAAS;YAC1B,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE;SAClC,CAAC,CAAC,CAAC;QAEJ,gCAAgC;QAChC,sEAAsE;QACtE,oDAAoD;QACpD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5C,8FAA8F;QAC9F,gGAAgG;QAChG,+FAA+F;QAC/F,oEAAoE;QACpE,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,IAAI,+BAA+B,KAAK,gCAAgC;gBAC5F,gGAAgG;gBAChG,eAAe,OAAO,CAAC,IAAI,yCAAyC,CACrE,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,IAAI,oDAAoD;gBAC5E,mFAAmF;gBACnF,wCAAwC,CACzC,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAErD,4EAA4E;QAC5E,MAAM,cAAc,GAAG,CAAC,aAAa,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAC9D,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ;YACxB,CAAC,CAAC,SAAS,CAAC;QAEd,yDAAyD;QACzD,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEvE,gGAAgG;QAChG,6FAA6F;QAC7F,mGAAmG;QACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ;YACtD,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,SAAS,CAAC;QAEd,iGAAiG;QACjG,qGAAqG;QACrG,qGAAqG;QACrG,sGAAsG;QACtG,2FAA2F;QAC3F,IAAI,UAA8B,CAAC;QACnC,IAAI,WAA+B,CAAC;QACpC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,gGAAgG;YAChG,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;YAC7D,CAAC;YACD,IAAI,OAAO;gBAAE,WAAW,GAAG,OAAO,CAAC;QACrC,CAAC;QAED,yDAAyD;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YACjC,OAAO,EAAE,EAAE,EAAE,mDAAmD;YAChE,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,kBAAkB,EAAE,OAAO,CAAC,WAAW;YACvC,UAAU;YACV,SAAS;YACT,SAAS;YACT,QAAQ;YACR,aAAa;YACb,mBAAmB;YACnB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,4DAA4D;YAC9F,eAAe,EAAE,WAAW;YAC5B,UAAU;YACV,QAAQ,EAAE,aAAa;YACvB,QAAQ;YACR,OAAO;YACP,eAAe;YACf,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YACzC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAClD,cAAc;YACd,UAAU;YACV,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,UAA0B;QAC9D,MAAM,KAAK,GAA8C,EAAE,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,UAA0B,EAC1B,gBAA2D,EAAE;QAE7D,gBAAgB;QAChB,MAAM,KAAK,GAA8C,CAAC,GAAG,aAAa,CAAC,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACnC,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,QAAwB,EACxB,QAAgD;QAEhD,MAAM,KAAK,GAA8C,EAAE,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG;YAChB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC;YACxD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC;YACxD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;SACvD,CAAC;QACF,OAAO,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,IAAY,EAAE,IAAc;QAC3D,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACjH,OAAO;YACL,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB;YAC/C,uBAAuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI;YACjD,OAAO;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,QAAwB,EACxB,aAAsB,EACtB,cAAwB,EAAE,EAC1B,aAAsB,KAAK;QAE3B,oDAAoD;QACpD,IAAI,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChC,IAAI,eAAe,GAAG,WAAW,CAAC;QAElC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,YAAY,EAAE,CAAC;gBACjB,+EAA+E;gBAC/E,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACvE,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACvD,gEAAgE;gBAChE,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,WAAW,6BAA6B,QAAQ,CAAC,IAAI,uBAAuB,CAAC,CAAC;YACpH,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEtE,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxD,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,uEAAuE;QACvE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE/C,mFAAmF;QACnF,iFAAiF;QACjF,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,gGAAgG;QAChG,8FAA8F;QAC9F,yFAAyF;QACzF,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;oBACrE,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAA8C,EAAE,CAAC;QAE5D,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAE,CAAC;YAEnE,+EAA+E;YAC/E,MAAM,aAAa,GAAG,wBAAwB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,4DAA4D;YAC5D,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBAClD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,6FAA6F;QAC7F,kGAAkG;QAClG,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC;QAED,mFAAmF;QACnF,+EAA+E;QAC/E,kFAAkF;QAClF,gFAAgF;QAChF,gFAAgF;QAChF,gFAAgF;QAChF,iFAAiF;QACjF,MAAM,QAAQ,GACZ,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;YAC3H,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAClF,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,6BAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,iFAAiF;gBAC1F,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,CAAC,CAAC;aAC/D,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC;oBACT,OAAO,EAAE,sDAAsD;oBAC/D,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,2FAA2F;QAC3F,yFAAyF;QACzF,MAAM,IAAI,GAAG,qBAAqB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEnH,iCAAiC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YAC3C,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,KAAK;YACL,QAAQ;YACR,UAAU;YACV,IAAI;YACJ,YAAY;SACb,CAAC,CAAC;QAEH,gFAAgF;QAChF,oFAAoF;QACpF,sFAAsF;QACtF,4FAA4F;QAC5F,IAAI,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7C,kGAAkG;YAClG,8FAA8F;YAC9F,8FAA8F;YAC9F,kGAAkG;YAClG,sGAAsG;YACtG,OAAO,IAAA,iDAAsB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,mCAAmC,EAAE,aAAa,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,IAAY,EAAE,MAAc;QAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,WAAmB;QAC/C,OAAO,CACL,WAAW;aACR,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,UAAU,CACtC,CAAC;IACJ,CAAC;IAcO,kBAAkB,CAAC,WAAmB;QAC5C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO;QACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,YAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrG,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO;QAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,YAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACzG,KAAK,MAAM,IAAI,IAAI,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACrD,IAAI,CAAC;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAC5B,2BAA2B,IAAI,SAAS,IAAI,sIAAsI,IAAI,wEAAwE,EAC9P,EAAE,OAAO,EAAE,cAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,SAAiB,EACjB,YAAsB;QAEtB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAEnC,8BAA8B;QAC9B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/B,2BAA2B;QAC3B,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,MAAM,WAAW,GAAwC,EAAE,CAAC;QAE5D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1D,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,mBAAmB,WAAW,CAAC,MAAM,qBAAqB;gBAC1D,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAA2C,EAAE,CAAC;QAEpE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,wCAAwC;YACxC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAClE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAE5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,cAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,OAAO,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/E,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,sBAAsB,gBAAgB,CAAC,MAAM,aAAa;gBAC1D,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAt4BD,sCAs4BC"}
1
+ {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@
3
3
  * and would otherwise silently discard or invent it" (spec: sungen_app_profile_spec.md §4).
4
4
  *
5
5
  * Codes:
6
- * SG-W001 — step matched no pattern (compiles to a no-op `// TODO` comment)
6
+ * SG-W001 — step matched no pattern: sungen has no step form for the sentence. Compiles to a loud
7
+ * `throw` (it emitted a no-op `// TODO` comment until the unsupported-step gate, which
8
+ * let the scenario pass having asserted nothing). `@manual` is the way to park a check
9
+ * sungen cannot express — such scenarios are skipped before mapping and never reach here
7
10
  * SG-W002 — step parsed a {{dataRef}} value but the generated code never uses it
8
11
  * SG-W003 — `name` filter defaulted from the Gherkin reference on a name-from-content
9
12
  * role (status/alert/…) — such a filter can never match; opt out with `name: null`
@@ -21,8 +24,10 @@
21
24
  * entry: the label is display-only, so the step checks existence anywhere in the
22
25
  * table — an ordering rule would pass even when the row moved
23
26
  * SG-W011 — a storage assertion written in `expect … in local/session storage` form:
24
- * `expect` steps only read `{{response}}` refs, so this compiles to a silent
25
- * no-op — the supported grammar is `User see [KEY] in local storage exists/…`
27
+ * `expect` steps only read `{{response}}` refs, so this matches no pattern — the
28
+ * supported grammar is `User see [KEY] in local storage exists/…`. Compiles to a
29
+ * `throw` (it was a silent no-op until the unsupported-step gate); the reason string
30
+ * keeps naming the real grammar rather than falling back to SG-W001's generic text
26
31
  * SG-W012 — a mock-install step AFTER a navigation step in the same block: page.route()
27
32
  * registered after goto() misses every request fired during page load — move
28
33
  * the install before the navigation (or into Background)
@@ -40,6 +45,14 @@
40
45
  * "3 cards are shown" gets an assertion that can only pass if the card's text
41
46
  * IS the digit. Count semantics exist on row/table ("see [T] table with {{n}}",
42
47
  * "see [Ref] row with {{n}}") and lists ("should have count") only
48
+ * SG-E024 — a mobile app-lifecycle step (restart / reinstall) in a feature that declares no
49
+ * `Path:` app id. The templates resolve the app through a helper the test-file only
50
+ * emits when the id is present, so the spec used to compile clean and then die at
51
+ * runtime with a ReferenceError — taking the whole spec, not the step.
52
+ * SG-E023 — the step carries an assertion clause (`matches "…"`, `contains`, `has text`, a state)
53
+ * but the generated code is a BARE VISIBILITY check: the clause was swallowed by the
54
+ * catch-all and the test would pass whatever the element says. Four separate defects
55
+ * have arrived this way, so the step compiles to a runtime throw instead.
43
56
  * SG-E020 — the step matched a pattern whose template the ACTIVE adapter does not ship. Before
44
57
  * the platform SPI this was an unhandled `Template not found` that killed the WHOLE
45
58
  * feature file and named neither the step nor the adapter. The step now compiles to a
@@ -54,16 +67,57 @@
54
67
  * every following step resolves page-wide as if the scope had never been written.
55
68
  * Silently-ignored scope is the exact defect class this channel exists for — the step
56
69
  * LOOKS like it narrows the search and does not
70
+ * SG-E021 — the step carried a trailing state clause (`… is hidden`) that the pattern which matched
71
+ * it does not account for, so the clause would be SILENTLY DROPPED. This is the worst
72
+ * shape in this catalogue: the others weaken an assertion, this one can INVERT it.
73
+ * `see [X] page is hidden` matched `page-assertion` (priority 13) ahead of `is-hidden`
74
+ * (11), the clause vanished, and the step compiled to `toHaveURL(...)` — asserting the
75
+ * page IS displayed, the exact opposite of what it reads as, and passing while doing so.
76
+ * The pattern layer declares what it accounts for via `StepPattern.states`; anything
77
+ * undeclared reports here and compiles to a loud `throw`
57
78
  * SG-W022 — a `page` assertion on the mobile adapter that emitted NO executable code. A native app
58
79
  * has no URL, so `Then User see [X] page` compiles to a bare comment: the step reads as
59
80
  * an assertion, checks nothing, and the scenario PASSES regardless. Worse than the
60
81
  * crash class this plan closed — a crash is visible, a false pass is not. Its `is on`
61
82
  * twin routes to `route-assertion`, which throws; this half was silent
83
+ * SG-W023 — a mobile SETUP step that emitted NO executable code, so a declared PRECONDITION is never
84
+ * established. `Given the user is logged out` matches `user-not-logged-in` → `clear-auth`,
85
+ * whose Appium template is a bare comment: mobile auth lives in the keychain and prefs,
86
+ * not in cookies, so there is nothing for a per-step action to clear. The scenario then
87
+ * runs against whatever the PREVIOUS scenario left signed in — the same false-pass class
88
+ * as SG-W022, arriving through setup rather than assertion.
89
+ * Unlike SG-W020/SG-E021 this does NOT compile to a `throw`: an unestablished precondition
90
+ * weakens the setup, it does not INVERT an assertion, and throwing would break every
91
+ * mobile suite already carrying one of these steps. The remedy is a feature-level reset
92
+ * tier (`@reset:data`), which is what the message names — app state is reset between
93
+ * scenarios in the `beforeEach` hook, not mid-scenario by a step.
94
+ * SG-W024 — two or more scenarios in one feature share a name and at least ONE carries a `@reset:`
95
+ * tag. The generated per-scenario lookup is keyed on the scenario NAME (a @cases title is
96
+ * built at runtime, so no compile-time key can match the rendered title), so every
97
+ * same-named scenario resolves to the SAME tier — including one that declared none, which
98
+ * then silently runs at its namesake's tier: a `@reset:none` chain broken, or a reinstall
99
+ * nobody asked for. Counted over EVERY scenario rather than the tagged subset, because the
100
+ * untagged twin is the one that gets the wrong tier and has no tag to be counted by.
101
+ * Reported rather than resolved by precedence — two tests genuinely sharing one title
102
+ * cannot be told apart by a name-keyed lookup, so the only honest fix is a rename. Silently
103
+ * picking a winner would be the same silent-discard shape as SG-W021
104
+ * SG-E022 — the generated spec is not parseable JS/TS, so NOTHING in the file runs — Playwright
105
+ * reports one SyntaxError and every scenario in the unit is lost. A compiler self-check
106
+ * (@babel/parser) on the emitted code, added after a field report where the runtime-data
107
+ * marker post-processor mis-paired quote delimiters across two literals and the user only
108
+ * found out at `npx playwright test`. Unlike every other code here this one blames the
109
+ * compiler, not the Gherkin: it should be impossible, and it is reported so a broken
110
+ * build names itself at generate time instead of one step further downstream
62
111
  *
63
- * Diagnostics never block generation by themselves; `sungen generate --strict`
64
- * turns any collected diagnostic into a non-zero exit.
112
+ * Diagnostics never change the EXIT CODE by themselves; `sungen generate --strict` turns any
113
+ * collected diagnostic into a non-zero exit. They are not all inert, though: SG-W001, SG-W011,
114
+ * SG-E020, SG-E021, SG-W020, SG-E023 and SG-E024 additionally compile the offending step to a runtime
115
+ * `throw`, because a step that reads as a check and silently checks nothing is worse than one that
116
+ * fails loudly. (SG-E022 is the one exception to the "blame the Gherkin" rule and throws nothing: the
117
+ * file is still written so the user keeps the artifact to inspect.)
118
+ * Generation always COMPLETES — the rest of the scenario and the rest of the file still compile.
65
119
  */
66
- export type DiagnosticCode = 'SG-W001' | 'SG-W002' | 'SG-W003' | 'SG-W005' | 'SG-W006' | 'SG-W007' | 'SG-W008' | 'SG-W009' | 'SG-W010' | 'SG-W011' | 'SG-W012' | 'SG-W013' | 'SG-W014' | 'SG-W015' | 'SG-E020' | 'SG-W020' | 'SG-W021' | 'SG-W022';
120
+ export type DiagnosticCode = 'SG-W001' | 'SG-W002' | 'SG-W003' | 'SG-W005' | 'SG-W006' | 'SG-W007' | 'SG-W008' | 'SG-W009' | 'SG-W010' | 'SG-W011' | 'SG-W012' | 'SG-W013' | 'SG-W014' | 'SG-W015' | 'SG-E020' | 'SG-E021' | 'SG-W020' | 'SG-W021' | 'SG-W022' | 'SG-W023' | 'SG-W024' | 'SG-E022' | 'SG-E023' | 'SG-E024';
67
121
  export interface Diagnostic {
68
122
  code: DiagnosticCode;
69
123
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnP,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAoB;IAEjC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAInG,GAAG,IAAI,UAAU,EAAE;IAInB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,qDAAqD;IACrD,WAAW,IAAI,MAAM,EAAE;CAOxB"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHG;AAEH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3T,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAoB;IAEjC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAInG,GAAG,IAAI,UAAU,EAAE;IAInB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,qDAAqD;IACrD,WAAW,IAAI,MAAM,EAAE;CAOxB"}
@@ -4,7 +4,10 @@
4
4
  * and would otherwise silently discard or invent it" (spec: sungen_app_profile_spec.md §4).
5
5
  *
6
6
  * Codes:
7
- * SG-W001 — step matched no pattern (compiles to a no-op `// TODO` comment)
7
+ * SG-W001 — step matched no pattern: sungen has no step form for the sentence. Compiles to a loud
8
+ * `throw` (it emitted a no-op `// TODO` comment until the unsupported-step gate, which
9
+ * let the scenario pass having asserted nothing). `@manual` is the way to park a check
10
+ * sungen cannot express — such scenarios are skipped before mapping and never reach here
8
11
  * SG-W002 — step parsed a {{dataRef}} value but the generated code never uses it
9
12
  * SG-W003 — `name` filter defaulted from the Gherkin reference on a name-from-content
10
13
  * role (status/alert/…) — such a filter can never match; opt out with `name: null`
@@ -22,8 +25,10 @@
22
25
  * entry: the label is display-only, so the step checks existence anywhere in the
23
26
  * table — an ordering rule would pass even when the row moved
24
27
  * SG-W011 — a storage assertion written in `expect … in local/session storage` form:
25
- * `expect` steps only read `{{response}}` refs, so this compiles to a silent
26
- * no-op — the supported grammar is `User see [KEY] in local storage exists/…`
28
+ * `expect` steps only read `{{response}}` refs, so this matches no pattern — the
29
+ * supported grammar is `User see [KEY] in local storage exists/…`. Compiles to a
30
+ * `throw` (it was a silent no-op until the unsupported-step gate); the reason string
31
+ * keeps naming the real grammar rather than falling back to SG-W001's generic text
27
32
  * SG-W012 — a mock-install step AFTER a navigation step in the same block: page.route()
28
33
  * registered after goto() misses every request fired during page load — move
29
34
  * the install before the navigation (or into Background)
@@ -41,6 +46,14 @@
41
46
  * "3 cards are shown" gets an assertion that can only pass if the card's text
42
47
  * IS the digit. Count semantics exist on row/table ("see [T] table with {{n}}",
43
48
  * "see [Ref] row with {{n}}") and lists ("should have count") only
49
+ * SG-E024 — a mobile app-lifecycle step (restart / reinstall) in a feature that declares no
50
+ * `Path:` app id. The templates resolve the app through a helper the test-file only
51
+ * emits when the id is present, so the spec used to compile clean and then die at
52
+ * runtime with a ReferenceError — taking the whole spec, not the step.
53
+ * SG-E023 — the step carries an assertion clause (`matches "…"`, `contains`, `has text`, a state)
54
+ * but the generated code is a BARE VISIBILITY check: the clause was swallowed by the
55
+ * catch-all and the test would pass whatever the element says. Four separate defects
56
+ * have arrived this way, so the step compiles to a runtime throw instead.
44
57
  * SG-E020 — the step matched a pattern whose template the ACTIVE adapter does not ship. Before
45
58
  * the platform SPI this was an unhandled `Template not found` that killed the WHOLE
46
59
  * feature file and named neither the step nor the adapter. The step now compiles to a
@@ -55,14 +68,55 @@
55
68
  * every following step resolves page-wide as if the scope had never been written.
56
69
  * Silently-ignored scope is the exact defect class this channel exists for — the step
57
70
  * LOOKS like it narrows the search and does not
71
+ * SG-E021 — the step carried a trailing state clause (`… is hidden`) that the pattern which matched
72
+ * it does not account for, so the clause would be SILENTLY DROPPED. This is the worst
73
+ * shape in this catalogue: the others weaken an assertion, this one can INVERT it.
74
+ * `see [X] page is hidden` matched `page-assertion` (priority 13) ahead of `is-hidden`
75
+ * (11), the clause vanished, and the step compiled to `toHaveURL(...)` — asserting the
76
+ * page IS displayed, the exact opposite of what it reads as, and passing while doing so.
77
+ * The pattern layer declares what it accounts for via `StepPattern.states`; anything
78
+ * undeclared reports here and compiles to a loud `throw`
58
79
  * SG-W022 — a `page` assertion on the mobile adapter that emitted NO executable code. A native app
59
80
  * has no URL, so `Then User see [X] page` compiles to a bare comment: the step reads as
60
81
  * an assertion, checks nothing, and the scenario PASSES regardless. Worse than the
61
82
  * crash class this plan closed — a crash is visible, a false pass is not. Its `is on`
62
83
  * twin routes to `route-assertion`, which throws; this half was silent
84
+ * SG-W023 — a mobile SETUP step that emitted NO executable code, so a declared PRECONDITION is never
85
+ * established. `Given the user is logged out` matches `user-not-logged-in` → `clear-auth`,
86
+ * whose Appium template is a bare comment: mobile auth lives in the keychain and prefs,
87
+ * not in cookies, so there is nothing for a per-step action to clear. The scenario then
88
+ * runs against whatever the PREVIOUS scenario left signed in — the same false-pass class
89
+ * as SG-W022, arriving through setup rather than assertion.
90
+ * Unlike SG-W020/SG-E021 this does NOT compile to a `throw`: an unestablished precondition
91
+ * weakens the setup, it does not INVERT an assertion, and throwing would break every
92
+ * mobile suite already carrying one of these steps. The remedy is a feature-level reset
93
+ * tier (`@reset:data`), which is what the message names — app state is reset between
94
+ * scenarios in the `beforeEach` hook, not mid-scenario by a step.
95
+ * SG-W024 — two or more scenarios in one feature share a name and at least ONE carries a `@reset:`
96
+ * tag. The generated per-scenario lookup is keyed on the scenario NAME (a @cases title is
97
+ * built at runtime, so no compile-time key can match the rendered title), so every
98
+ * same-named scenario resolves to the SAME tier — including one that declared none, which
99
+ * then silently runs at its namesake's tier: a `@reset:none` chain broken, or a reinstall
100
+ * nobody asked for. Counted over EVERY scenario rather than the tagged subset, because the
101
+ * untagged twin is the one that gets the wrong tier and has no tag to be counted by.
102
+ * Reported rather than resolved by precedence — two tests genuinely sharing one title
103
+ * cannot be told apart by a name-keyed lookup, so the only honest fix is a rename. Silently
104
+ * picking a winner would be the same silent-discard shape as SG-W021
105
+ * SG-E022 — the generated spec is not parseable JS/TS, so NOTHING in the file runs — Playwright
106
+ * reports one SyntaxError and every scenario in the unit is lost. A compiler self-check
107
+ * (@babel/parser) on the emitted code, added after a field report where the runtime-data
108
+ * marker post-processor mis-paired quote delimiters across two literals and the user only
109
+ * found out at `npx playwright test`. Unlike every other code here this one blames the
110
+ * compiler, not the Gherkin: it should be impossible, and it is reported so a broken
111
+ * build names itself at generate time instead of one step further downstream
63
112
  *
64
- * Diagnostics never block generation by themselves; `sungen generate --strict`
65
- * turns any collected diagnostic into a non-zero exit.
113
+ * Diagnostics never change the EXIT CODE by themselves; `sungen generate --strict` turns any
114
+ * collected diagnostic into a non-zero exit. They are not all inert, though: SG-W001, SG-W011,
115
+ * SG-E020, SG-E021, SG-W020, SG-E023 and SG-E024 additionally compile the offending step to a runtime
116
+ * `throw`, because a step that reads as a check and silently checks nothing is worse than one that
117
+ * fails loudly. (SG-E022 is the one exception to the "blame the Gherkin" rule and throws nothing: the
118
+ * file is still written so the user keeps the artifact to inspect.)
119
+ * Generation always COMPLETES — the rest of the scenario and the rest of the file still compile.
66
120
  */
67
121
  Object.defineProperty(exports, "__esModule", { value: true });
68
122
  exports.DiagnosticsCollector = void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;;;AAWH,MAAa,oBAAoB;IAAjC;QACU,UAAK,GAAiB,EAAE,CAAC;IAsBnC,CAAC;IApBC,GAAG,CAAC,IAAoB,EAAE,OAAe,EAAE,UAA+C,EAAE;QAC1F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,qDAAqD;IACrD,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvBD,oDAuBC"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/generators/test-generator/diagnostics.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHG;;;AAWH,MAAa,oBAAoB;IAAjC;QACU,UAAK,GAAiB,EAAE,CAAC;IAsBnC,CAAC;IApBC,GAAG,CAAC,IAAoB,EAAE,OAAe,EAAE,UAA+C,EAAE;QAC1F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,qDAAqD;IACrD,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvBD,oDAuBC"}
@@ -1,3 +1,10 @@
1
1
  import { StepPattern } from './types';
2
+ /**
3
+ * Render a quoted literal's BODY as a JS expression. Text without vars keeps
4
+ * its exact JSON.stringify shape; an embedded `{{var}}` interpolates the
5
+ * runtime value (the literal used to ship verbatim, so the assertion compared
6
+ * against the raw `{{...}}` text and could never pass with correct data).
7
+ */
8
+ export declare function literalExpr(text: string): string;
2
9
  export declare const expectPatterns: StepPattern[];
3
10
  //# sourceMappingURL=expect-patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expect-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/expect-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAqCtD,eAAO,MAAM,cAAc,EAAE,WAAW,EAiCvC,CAAC"}
1
+ {"version":3,"file":"expect-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/expect-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAuCtD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWhD;AAaD,eAAO,MAAM,cAAc,EAAE,WAAW,EAoCvC,CAAC"}