@sun-asterisk/sungen 2.2.2 → 2.3.0

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 (105) hide show
  1. package/README.md +66 -37
  2. package/dist/cli/commands/update.d.ts +3 -0
  3. package/dist/cli/commands/update.d.ts.map +1 -0
  4. package/dist/cli/commands/update.js +21 -0
  5. package/dist/cli/commands/update.js.map +1 -0
  6. package/dist/cli/index.js +3 -1
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/generators/gherkin-parser/index.d.ts +2 -0
  9. package/dist/generators/gherkin-parser/index.d.ts.map +1 -1
  10. package/dist/generators/gherkin-parser/index.js +17 -3
  11. package/dist/generators/gherkin-parser/index.js.map +1 -1
  12. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/alert-accept-action.hbs +1 -0
  13. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/alert-dismiss-action.hbs +1 -0
  14. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/alert-fill-action.hbs +1 -0
  15. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/alert-text-assertion.hbs +8 -0
  16. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/attribute-assertion.hbs +3 -0
  17. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/have-value-assertion.hbs +1 -0
  18. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +12 -1
  19. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +12 -1
  20. package/dist/generators/test-generator/patterns/assertion-patterns.d.ts.map +1 -1
  21. package/dist/generators/test-generator/patterns/assertion-patterns.js +95 -57
  22. package/dist/generators/test-generator/patterns/assertion-patterns.js.map +1 -1
  23. package/dist/generators/test-generator/patterns/index.d.ts +9 -0
  24. package/dist/generators/test-generator/patterns/index.d.ts.map +1 -1
  25. package/dist/generators/test-generator/patterns/index.js +32 -0
  26. package/dist/generators/test-generator/patterns/index.js.map +1 -1
  27. package/dist/generators/test-generator/patterns/interaction-patterns.d.ts +1 -1
  28. package/dist/generators/test-generator/patterns/interaction-patterns.d.ts.map +1 -1
  29. package/dist/generators/test-generator/patterns/interaction-patterns.js +56 -1
  30. package/dist/generators/test-generator/patterns/interaction-patterns.js.map +1 -1
  31. package/dist/generators/test-generator/patterns/table-patterns.d.ts.map +1 -1
  32. package/dist/generators/test-generator/patterns/table-patterns.js +8 -5
  33. package/dist/generators/test-generator/patterns/table-patterns.js.map +1 -1
  34. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  35. package/dist/generators/test-generator/utils/selector-resolver.js +16 -0
  36. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  37. package/dist/orchestrator/ai-rules-updater.d.ts +13 -0
  38. package/dist/orchestrator/ai-rules-updater.d.ts.map +1 -0
  39. package/dist/orchestrator/ai-rules-updater.js +157 -0
  40. package/dist/orchestrator/ai-rules-updater.js.map +1 -0
  41. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  42. package/dist/orchestrator/project-initializer.js +2 -27
  43. package/dist/orchestrator/project-initializer.js.map +1 -1
  44. package/dist/orchestrator/screen-manager.d.ts +1 -0
  45. package/dist/orchestrator/screen-manager.d.ts.map +1 -1
  46. package/dist/orchestrator/screen-manager.js +70 -3
  47. package/dist/orchestrator/screen-manager.js.map +1 -1
  48. package/dist/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +18 -9
  49. package/dist/orchestrator/templates/ai-instructions/claude-cmd-make-tc.md +11 -4
  50. package/dist/orchestrator/templates/ai-instructions/claude-cmd-make-test.md +11 -6
  51. package/dist/orchestrator/templates/ai-instructions/claude-skill-error-mapping.md +22 -9
  52. package/dist/orchestrator/templates/ai-instructions/claude-skill-gherkin-syntax.md +170 -24
  53. package/dist/orchestrator/templates/ai-instructions/claude-skill-selector-fix.md +118 -12
  54. package/dist/orchestrator/templates/ai-instructions/claude-skill-selector-keys.md +16 -2
  55. package/dist/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +124 -71
  56. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +13 -5
  57. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-make-tc.md +12 -4
  58. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-make-test.md +11 -6
  59. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-error-mapping.md +22 -9
  60. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-gherkin-syntax.md +170 -24
  61. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +93 -12
  62. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-selector-keys.md +16 -2
  63. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +124 -72
  64. package/dist/orchestrator/templates/readme.md +13 -8
  65. package/package.json +1 -1
  66. package/src/cli/commands/update.ts +18 -0
  67. package/src/cli/index.ts +3 -1
  68. package/src/generators/gherkin-parser/index.ts +20 -3
  69. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/alert-accept-action.hbs +1 -0
  70. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/alert-dismiss-action.hbs +1 -0
  71. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/alert-fill-action.hbs +1 -0
  72. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/alert-text-assertion.hbs +8 -0
  73. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/attribute-assertion.hbs +3 -0
  74. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/have-value-assertion.hbs +1 -0
  75. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +12 -1
  76. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +12 -1
  77. package/src/generators/test-generator/patterns/assertion-patterns.ts +106 -65
  78. package/src/generators/test-generator/patterns/index.ts +41 -0
  79. package/src/generators/test-generator/patterns/interaction-patterns.ts +58 -1
  80. package/src/generators/test-generator/patterns/table-patterns.ts +8 -5
  81. package/src/generators/test-generator/utils/selector-resolver.ts +16 -0
  82. package/src/orchestrator/ai-rules-updater.ts +139 -0
  83. package/src/orchestrator/project-initializer.ts +2 -32
  84. package/src/orchestrator/screen-manager.ts +72 -3
  85. package/src/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +18 -9
  86. package/src/orchestrator/templates/ai-instructions/claude-cmd-make-tc.md +11 -4
  87. package/src/orchestrator/templates/ai-instructions/claude-cmd-make-test.md +11 -6
  88. package/src/orchestrator/templates/ai-instructions/claude-skill-error-mapping.md +22 -9
  89. package/src/orchestrator/templates/ai-instructions/claude-skill-gherkin-syntax.md +170 -24
  90. package/src/orchestrator/templates/ai-instructions/claude-skill-selector-fix.md +118 -12
  91. package/src/orchestrator/templates/ai-instructions/claude-skill-selector-keys.md +16 -2
  92. package/src/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +124 -71
  93. package/src/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +13 -5
  94. package/src/orchestrator/templates/ai-instructions/copilot-cmd-make-tc.md +12 -4
  95. package/src/orchestrator/templates/ai-instructions/copilot-cmd-make-test.md +11 -6
  96. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-error-mapping.md +22 -9
  97. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-gherkin-syntax.md +170 -24
  98. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +93 -12
  99. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-selector-keys.md +16 -2
  100. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +124 -72
  101. package/src/orchestrator/templates/readme.md +13 -8
  102. package/docs/gherkin standards/gherkin-core-standard.md +0 -428
  103. package/docs/gherkin standards/gherkin-core-standard.vi.md +0 -513
  104. package/docs/gherkin-dictionary.md +0 -1071
  105. package/docs/makeauth.md +0 -225
@@ -6,6 +6,30 @@ exports.assertionPatterns = void 0;
6
6
  * Uses template engine for framework-agnostic code generation
7
7
  */
8
8
  exports.assertionPatterns = [
9
+ // Browser alert text assertion: "see [Are you sure?] alert"
10
+ {
11
+ name: 'alert-text-assertion',
12
+ matcher: (step) => (step.text.includes('see') || step.text.includes('sees')) &&
13
+ step.elementType === 'alert' &&
14
+ !!step.selectorRef,
15
+ resolver: (step, context) => {
16
+ let dataValue = step.selectorRef || '';
17
+ if (step.dataRef) {
18
+ try {
19
+ dataValue = context.dataResolver.resolveData(step.dataRef, context.featureName);
20
+ }
21
+ catch {
22
+ dataValue = `\${${step.dataRef}}`;
23
+ }
24
+ }
25
+ return {
26
+ templateName: 'alert-text-assertion',
27
+ data: { dataValue, stepCounter: context.stepCounter },
28
+ comment: `Assert browser alert contains "${step.selectorRef}"`,
29
+ };
30
+ },
31
+ priority: 21,
32
+ },
9
33
  // Column cell assertion: "see [Department] column 1 with {{value}}" -> check table cell text
10
34
  {
11
35
  name: 'column-cell-assertion',
@@ -188,6 +212,7 @@ exports.assertionPatterns = [
188
212
  // Pattern: Then User see [error] message with {{fail_message}}
189
213
  // If selector YAML has empty value, uses variable-only matching
190
214
  // If selector has value, combines both (static text + variable)
215
+ // Input types → toHaveValue, everything else → toHaveText
191
216
  {
192
217
  name: 'see-with-variable',
193
218
  matcher: (step) => (step.text.includes('should see') ||
@@ -196,6 +221,11 @@ exports.assertionPatterns = [
196
221
  !!step.dataRef &&
197
222
  step.text.includes('with'),
198
223
  generator: (step, context) => {
224
+ // Input element types use toHaveValue instead of toHaveText
225
+ const INPUT_TYPES = new Set([
226
+ 'field', 'textarea', 'search', 'dropdown', 'slider', 'date-picker',
227
+ 'input', 'textbox', 'editor', 'select', 'combobox',
228
+ ]);
199
229
  // Resolve data variable value
200
230
  let dataValue;
201
231
  try {
@@ -204,14 +234,43 @@ exports.assertionPatterns = [
204
234
  catch (error) {
205
235
  dataValue = `\${${step.dataRef}}`;
206
236
  }
207
- // Label-value pattern: "User see [X] label with {{Y}}"
208
- // Uses regex getByText to match container with both label and value text
237
+ // Resolve selector from YAML with feature context
238
+ let resolved = {};
239
+ try {
240
+ resolved = context.selectorResolver.resolveSelector(step.selectorRef, context.featureName, step.elementType, step.nth);
241
+ }
242
+ catch (error) {
243
+ // Selector not in YAML or context issue - will use variable-only
244
+ }
245
+ // --- Attribute assertion: toHaveAttribute ---
246
+ // When selector YAML has `attribute` field (e.g., attribute: 'src', 'href')
247
+ if (resolved.attribute) {
248
+ const code = context.templateEngine.renderStep('attribute-assertion', {
249
+ ...resolved,
250
+ dataValue,
251
+ });
252
+ return {
253
+ code,
254
+ comment: `Assert ${step.selectorRef} ${resolved.attribute} matches ${step.dataRef}`,
255
+ };
256
+ }
257
+ // --- Input types: toHaveValue ---
258
+ if (step.elementType && INPUT_TYPES.has(step.elementType)) {
259
+ const code = context.templateEngine.renderStep('have-value-assertion', {
260
+ ...resolved,
261
+ dataValue,
262
+ });
263
+ return {
264
+ code,
265
+ comment: `Assert ${step.selectorRef} has value ${step.dataRef}`,
266
+ };
267
+ }
268
+ // --- Label-value pattern: "User see [X] label with {{Y}}" ---
209
269
  if (step.elementType === 'label' && step.dataRef) {
210
- // Check if selector override has empty value — if so, omit label from regex
211
270
  let label = step.selectorRef;
212
271
  try {
213
- const resolved = context.selectorResolver.resolveSelector(step.selectorRef, context.featureName, step.elementType, step.nth);
214
- if (resolved.value !== undefined && resolved.value.trim() === '') {
272
+ const labelResolved = context.selectorResolver.resolveSelector(step.selectorRef, context.featureName, step.elementType, step.nth);
273
+ if (labelResolved.value !== undefined && labelResolved.value.trim() === '') {
215
274
  label = undefined;
216
275
  }
217
276
  }
@@ -227,84 +286,63 @@ exports.assertionPatterns = [
227
286
  comment: `Assert ${step.selectorRef} label with value ${step.dataRef}`,
228
287
  };
229
288
  }
230
- // Resolve selector from YAML with feature context
231
- let resolved = {};
232
- try {
233
- resolved = context.selectorResolver.resolveSelector(step.selectorRef, context.featureName, step.elementType, step.nth);
234
- }
235
- catch (error) {
236
- // Selector not in YAML or context issue - will use variable-only
237
- }
238
- const escapedVariable = dataValue.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&');
239
- // Check if it's a locator strategy - use locator with filter
240
- if (resolved.strategy === 'locator') {
241
- const code = context.templateEngine.renderStep('visible-with-locator-variable-assertion', {
242
- ...resolved,
289
+ // --- Dialog role: check heading inside dialog ---
290
+ if (resolved.strategy === 'role' && resolved.role === 'dialog') {
291
+ const code = context.templateEngine.renderStep('visible-dialog-heading-assertion', {
243
292
  dataValue,
244
- nth: resolved.nth,
245
293
  });
246
294
  return {
247
295
  code,
248
- comment: `Assert ${step.selectorRef} with value ${step.dataRef}`,
296
+ comment: `Assert ${step.selectorRef} dialog with heading ${step.dataRef}`,
249
297
  };
250
298
  }
251
- // Check if it's a role-based selector with data
252
- if (resolved.strategy === 'role' && resolved.role) {
253
- // Dialog role: check heading inside dialog instead of filter on full text content
254
- if (resolved.role === 'dialog') {
255
- const code = context.templateEngine.renderStep('visible-dialog-heading-assertion', {
256
- dataValue,
257
- });
258
- return {
259
- code,
260
- comment: `Assert ${step.selectorRef} dialog with heading ${step.dataRef}`,
261
- };
262
- }
299
+ // --- Image role: images have no text, use name ---
300
+ if (resolved.strategy === 'role' && resolved.role === 'img') {
263
301
  const hasName = resolved.name && resolved.name.trim();
264
- // For img role: images have no text content, so put dataValue in name instead of filter
265
- const isImgRole = resolved.role === 'img';
266
302
  const code = context.templateEngine.renderStep('visible-with-role-variable-assertion', {
267
303
  role: resolved.role,
268
- name: isImgRole ? (hasName ? resolved.name : dataValue) : (hasName ? resolved.name : undefined),
269
- dataValue: isImgRole ? undefined : dataValue,
304
+ name: hasName ? resolved.name : dataValue,
270
305
  exact: resolved.exact || false,
271
306
  nth: resolved.nth,
272
307
  });
273
308
  return {
274
309
  code,
275
- comment: `Assert ${step.selectorRef} with value ${step.dataRef}`,
310
+ comment: `Assert ${step.selectorRef} image with name ${step.dataRef}`,
276
311
  };
277
312
  }
278
- const selectorValue = resolved.value || '';
279
- // If selector has a value in YAML, combine with variable
280
- // Otherwise use variable-only
281
- if (selectorValue && selectorValue.trim()) {
282
- // Has selector value - combine both
283
- const code = context.templateEngine.renderStep('visible-with-value-assertion', {
284
- value: selectorValue,
285
- dataValue,
286
- dataRef: step.dataRef,
287
- nth: resolved.nth,
288
- exact: resolved.exact || false,
313
+ // --- Everything else: toHaveText (exact full match) ---
314
+ // Locator strategy
315
+ if (resolved.strategy === 'locator') {
316
+ const code = context.templateEngine.renderStep('have-text-assertion', {
317
+ ...resolved,
318
+ expectedText: dataValue,
289
319
  });
290
320
  return {
291
321
  code,
292
- comment: `Assert ${step.selectorRef} with value ${step.dataRef}`,
322
+ comment: `Assert ${step.selectorRef} has text ${step.dataRef}`,
293
323
  };
294
324
  }
295
- else {
296
- // Empty selector - use variable only
297
- const code = context.templateEngine.renderStep('visible-with-variable-assertion', {
298
- selectorRef: step.selectorRef,
299
- selectorValue: resolved.value || '',
300
- dataValue,
301
- nth: resolved.nth,
325
+ // Role-based selector
326
+ if (resolved.strategy === 'role' && resolved.role) {
327
+ const hasName = resolved.name && resolved.name.trim();
328
+ const code = context.templateEngine.renderStep('have-text-assertion', {
329
+ ...resolved,
330
+ expectedText: dataValue,
302
331
  });
303
332
  return {
304
333
  code,
305
- comment: `Assert ${step.selectorRef} visible with ${step.dataRef}`,
334
+ comment: `Assert ${step.selectorRef} has text ${step.dataRef}`,
306
335
  };
307
336
  }
337
+ // Text/placeholder/testid/other strategies
338
+ const code = context.templateEngine.renderStep('have-text-assertion', {
339
+ ...resolved,
340
+ expectedText: dataValue,
341
+ });
342
+ return {
343
+ code,
344
+ comment: `Assert ${step.selectorRef} has text ${step.dataRef}`,
345
+ };
308
346
  },
309
347
  priority: 13,
310
348
  },
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/assertion-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/assertion-patterns.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACU,QAAA,iBAAiB,GAAkB;IAC9C,4DAA4D;IAC5D;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,KAAK,OAAO;YAC5B,CAAC,CAAC,IAAI,CAAC,WAAW;QACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAClF,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,OAAO;gBACL,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE;gBACrD,OAAO,EAAE,kCAAkC,IAAI,CAAC,WAAW,GAAG;aAC/D,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD,6FAA6F;IAC7F;QACE,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,cAAc,CAAC;QACxE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;YACpC,CAAC;YAED,0FAA0F;YAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7B,+CAA+C;YAC/C,MAAM,cAAc,GAAG,WAAW,IAAI,CAAC,WAAY,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;YAEnF,OAAO;gBACL,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE;oBACJ,UAAU,EAAE,IAAI,CAAC,WAAW;oBAC5B,MAAM;oBACN,cAAc;oBACd,SAAS;iBACV;gBACD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE;aAC3F,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE,EAAG,2CAA2C;KAC3D;IACD,gFAAgF;IAChF;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,KAAK,MAAM;QAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;YAEnC,uEAAuE;YACvE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CACvD,IAAI,CAAC,WAAW,EAChB,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CACT,CAAC;oBACF,qDAAqD;oBACrD,IAAI,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;gBAChC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,iDAAiD;oBACjD,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAC/D,OAAO;gBACL,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,EAAE,SAAS,EAAE;gBACnB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,gBAAgB;aACpF,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE,EAAG,0CAA0C;KAC1D;IACD,mFAAmF;IACnF;QACE,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC3B,IAAI,QAAQ,GAAQ,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CACjD,IAAI,CAAC,WAAY,EACjB,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;YAElB,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;YACpC,CAAC;YAED,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAE1E,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,8BAA8B,EAAE;oBAC7E,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACrF,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClD,kFAAkF;gBAClF,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,iCAAiC,EAAE;wBAChF,SAAS;qBACV,CAAC,CAAC;oBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,+BAA+B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpG,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,qCAAqC,EAAE;oBACpF,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACvE,SAAS;oBACT,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACrF,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,8BAA8B,EAAE;oBAC7E,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACrF,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,gCAAgC,EAAE;gBAC/E,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;gBACnC,SAAS;gBACT,GAAG,EAAE,QAAQ,CAAC,GAAG;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACrF,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD,mFAAmF;IACnF;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC3B,IAAI,QAAQ,GAAQ,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CACjD,IAAI,CAAC,WAAY,EACjB,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;YAElB,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;YACpC,CAAC;YAED,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAE1E,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,gCAAgC,EAAE;oBAC/E,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,kBAAkB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACvF,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,uCAAuC,EAAE;oBACtF,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACvE,SAAS;oBACT,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,kBAAkB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACvF,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,gCAAgC,EAAE;oBAC/E,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAC1C,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,kBAAkB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACvF,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,kCAAkC,EAAE;gBACjF,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;gBACnC,SAAS;gBACT,GAAG,EAAE,QAAQ,CAAC,GAAG;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,kBAAkB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACvF,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACC,mFAAmF;IACrF,+DAA+D;IAC/D,gEAAgE;IAChE,gEAAgE;IAChE,0DAA0D;IAC1D;QACE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC3B,4DAA4D;YAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;gBAC1B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa;gBAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU;aACnD,CAAC,CAAC;YAEH,8BAA8B;YAC9B,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;YACpC,CAAC;YAED,kDAAkD;YAClD,IAAI,QAAQ,GAAQ,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CACjD,IAAI,CAAC,WAAY,EACjB,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iEAAiE;YACnE,CAAC;YAED,+CAA+C;YAC/C,4EAA4E;YAC5E,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,qBAAqB,EAAE;oBACpE,GAAG,QAAQ;oBACX,SAAS;iBACV,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,SAAS,YAAY,IAAI,CAAC,OAAO,EAAE;iBACpF,CAAC;YACJ,CAAC;YAED,mCAAmC;YACnC,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,sBAAsB,EAAE;oBACrE,GAAG,QAAQ;oBACX,SAAS;iBACV,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,OAAO,EAAE;iBAChE,CAAC;YACJ,CAAC;YAED,+DAA+D;YAC/D,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjD,IAAI,KAAK,GAAuB,IAAI,CAAC,WAAW,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAC5D,IAAI,CAAC,WAAY,EACjB,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,GAAG,CACT,CAAC;oBACF,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;wBAC3E,KAAK,GAAG,SAAS,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,iDAAiD;gBACnD,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,uBAAuB,EAAE;oBACtE,KAAK;oBACL,SAAS;iBACV,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,qBAAqB,IAAI,CAAC,OAAO,EAAE;iBACvE,CAAC;YACJ,CAAC;YAED,mDAAmD;YACnD,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,kCAAkC,EAAE;oBACjF,SAAS;iBACV,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,wBAAwB,IAAI,CAAC,OAAO,EAAE;iBAC1E,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,sCAAsC,EAAE;oBACrF,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACzC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,KAAK;oBAC9B,GAAG,EAAE,QAAQ,CAAC,GAAG;iBAClB,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,oBAAoB,IAAI,CAAC,OAAO,EAAE;iBACtE,CAAC;YACJ,CAAC;YAED,yDAAyD;YACzD,mBAAmB;YACnB,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,qBAAqB,EAAE;oBACpE,GAAG,QAAQ;oBACX,YAAY,EAAE,SAAS;iBACxB,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,OAAO,EAAE;iBAC/D,CAAC;YACJ,CAAC;YAED,sBAAsB;YACtB,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,qBAAqB,EAAE;oBACpE,GAAG,QAAQ;oBACX,YAAY,EAAE,SAAS;iBACxB,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,OAAO,EAAE;iBAC/D,CAAC;YACJ,CAAC;YAED,2CAA2C;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,qBAAqB,EAAE;gBACpE,GAAG,QAAQ;gBACX,YAAY,EAAE,SAAS;aACxB,CAAC,CAAC;YACH,OAAO;gBACL,IAAI;gBACJ,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,OAAO,EAAE;aAC/D,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,WAAW;QACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa;aACjD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,WAAW;QACjB,oGAAoG;QACpG,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACtE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,iBAAiB;aACrD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QAC/F,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa;aACjD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QAChG,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,oBAAoB;gBAClC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,cAAc;aAClD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;QAClI,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACxG,OAAO;gBACL,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE;gBACnC,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG;aAC/E,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;QACpI,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACxG,OAAO;gBACL,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE;gBACnC,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG;aAC/E,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QAC7F,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,WAAW;aAC/C,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QAC/F,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa;aACjD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QACjG,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,eAAe;aACnD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QAC/F,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa;aACjD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACnC,CAAC,IAAI,CAAC,WAAW;YACjB,CAAC,CAAC,IAAI,CAAC,OAAO;QAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,yCAAyC;YACzC,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;YACpC,CAAC;YAED,OAAO;gBACL,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE;oBACJ,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,SAAS;iBACjB;gBACD,OAAO,EAAE,UAAU,IAAI,CAAC,OAAO,aAAa;aAC7C,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,EAAE,uCAAuC;KACrD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACjD,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC;QACtG,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,IAAI,aAAa,GAAoB,CAAC,CAAC;YAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;oBACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACtC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,2BAA2B;gBACzC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE;gBACpC,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa,aAAa,QAAQ;aACtE,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,EAAE,oCAAoC;KAClD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QACxF,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,IAAI,aAAa,GAAoB,CAAC,CAAC;YAEvC,sCAAsC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,mDAAmD;gBACnD,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;oBACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACtC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE;gBACpC,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,cAAc,aAAa,EAAE;aACjE,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC;KACZ;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QAC/F,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,aAAa;aACjD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QAChG,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,oBAAoB;gBAClC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;gBACpD,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,cAAc;aAClD,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QACrG,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,kBAAkB;gBAChC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE;gBAChF,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,sBAAsB;aAC1D,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE,CAC5B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;QACtG,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAoB,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACpH,OAAO;gBACL,YAAY,EAAE,kBAAkB;gBAChC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE;gBACjF,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,uBAAuB;aAC3D,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC"}
@@ -24,6 +24,15 @@ export declare class PatternRegistry {
24
24
  * Prefers resolver (returns template data) over generator (renders directly).
25
25
  */
26
26
  generateStep(step: ParsedStep, context: PatternContext): MappedStep | null;
27
+ /**
28
+ * Resolve parent scoping to a Playwright locator string.
29
+ * Tries YAML lookup first, falls back to auto-infer from parentType.
30
+ *
31
+ * Parent type → Playwright role:
32
+ * table → 'table', list → 'list', section → 'region',
33
+ * dialog → 'dialog', form → 'form'
34
+ */
35
+ private static resolveParentLocator;
27
36
  /**
28
37
  * Check if step matches a pattern matcher
29
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAWtD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAqB;;IAMrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK3C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IASjD;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IAuB1E;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACH,eAAe,IAAI,MAAM;CAG1B;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAWtD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAqB;;IAMrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAK3C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IASjD;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;IA+B1E;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyBnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACH,eAAe,IAAI,MAAM;CAG1B;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,SAAS,CAAC"}
@@ -78,6 +78,10 @@ class PatternRegistry {
78
78
  // Prefer resolver (framework-agnostic) over generator (legacy)
79
79
  if (pattern.resolver) {
80
80
  const resolved = pattern.resolver(step, context);
81
+ // Auto-inject parent scoping if step has parentRef
82
+ if (step.parentRef && step.parentType) {
83
+ resolved.data.parentLocator = PatternRegistry.resolveParentLocator(step.parentRef, step.parentType, context);
84
+ }
81
85
  const code = context.templateEngine.renderStep(resolved.templateName, resolved.data);
82
86
  return {
83
87
  code,
@@ -89,6 +93,34 @@ class PatternRegistry {
89
93
  }
90
94
  return null;
91
95
  }
96
+ /**
97
+ * Resolve parent scoping to a Playwright locator string.
98
+ * Tries YAML lookup first, falls back to auto-infer from parentType.
99
+ *
100
+ * Parent type → Playwright role:
101
+ * table → 'table', list → 'list', section → 'region',
102
+ * dialog → 'dialog', form → 'form'
103
+ */
104
+ static resolveParentLocator(parentRef, parentType, context) {
105
+ // Try resolving from selectors YAML
106
+ try {
107
+ const resolved = context.selectorResolver.resolveSelector(parentRef, context.featureName, parentType, 0);
108
+ return context.renderLocator(resolved);
109
+ }
110
+ catch {
111
+ // Fallback: auto-infer from parentType + parentRef as accessible name
112
+ }
113
+ const roleMap = {
114
+ table: 'table',
115
+ list: 'list',
116
+ section: 'region',
117
+ dialog: 'dialog',
118
+ form: 'form',
119
+ };
120
+ const role = roleMap[parentType] || parentType;
121
+ const escapedName = parentRef.replace(/'/g, "\\'");
122
+ return `page.getByRole('${role}', { name: '${escapedName}' })`;
123
+ }
92
124
  /**
93
125
  * Check if step matches a pattern matcher
94
126
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { StepPattern } from './types';
2
2
  /**
3
- * Interaction patterns: click, hover, press, wait
3
+ * Interaction patterns: click, hover, press, wait, alert
4
4
  */
5
5
  export declare const interactionPatterns: StepPattern[];
6
6
  //# sourceMappingURL=interaction-patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA2BtC;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAgX5C,CAAC"}
1
+ {"version":3,"file":"interaction-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA2BtC;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAya5C,CAAC"}
@@ -29,9 +29,64 @@ function elementKeywordToRole(text) {
29
29
  return roleMap[keyword] || keyword;
30
30
  }
31
31
  /**
32
- * Interaction patterns: click, hover, press, wait
32
+ * Interaction patterns: click, hover, press, wait, alert
33
33
  */
34
34
  exports.interactionPatterns = [
35
+ // === Browser Alert (system dialog) patterns ===
36
+ // These must appear BEFORE the click that triggers the alert in Gherkin:
37
+ // When User click [OK] alert ← registers page.once('dialog', ...)
38
+ // And User click [Delete] button ← triggers the alert
39
+ {
40
+ name: 'alert-accept',
41
+ matcher: (step) => step.elementType === 'alert' &&
42
+ (step.text.includes('click') || step.text.includes('clicks')) &&
43
+ !step.dataRef &&
44
+ !!(step.selectorRef && /^(ok|accept|yes|confirm)$/i.test(step.selectorRef)),
45
+ resolver: (step, context) => {
46
+ return {
47
+ templateName: 'alert-accept-action',
48
+ data: {},
49
+ comment: `Accept browser alert`,
50
+ };
51
+ },
52
+ priority: 20,
53
+ },
54
+ {
55
+ name: 'alert-dismiss',
56
+ matcher: (step) => step.elementType === 'alert' &&
57
+ (step.text.includes('click') || step.text.includes('clicks')) &&
58
+ !step.dataRef &&
59
+ !!(step.selectorRef && /^(cancel|dismiss|no)$/i.test(step.selectorRef)),
60
+ resolver: (step, context) => {
61
+ return {
62
+ templateName: 'alert-dismiss-action',
63
+ data: {},
64
+ comment: `Dismiss browser alert`,
65
+ };
66
+ },
67
+ priority: 20,
68
+ },
69
+ {
70
+ name: 'alert-fill',
71
+ matcher: (step) => step.elementType === 'alert' &&
72
+ step.text.includes('fill') &&
73
+ !!step.dataRef,
74
+ resolver: (step, context) => {
75
+ let fillValue;
76
+ try {
77
+ fillValue = context.dataResolver.resolveData(step.dataRef, context.featureName);
78
+ }
79
+ catch {
80
+ fillValue = `\${${step.dataRef}}`;
81
+ }
82
+ return {
83
+ templateName: 'alert-fill-action',
84
+ data: { fillValue },
85
+ comment: `Fill browser prompt with ${step.dataRef}`,
86
+ };
87
+ },
88
+ priority: 20,
89
+ },
35
90
  {
36
91
  name: 'unknown-element-action',
37
92
  matcher: (step) => {
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/table-patterns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,aAAa,EAAE,WAAW,EAgOtC,CAAC"}
1
+ {"version":3,"file":"table-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/table-patterns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,aAAa,EAAE,WAAW,EAmOtC,CAAC"}
@@ -6,11 +6,12 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.tablePatterns = void 0;
8
8
  exports.tablePatterns = [
9
- // "User see [Users] table has {{count}} rows" — must have "rows" AFTER {{data}}
9
+ // "User see [Users] table with {{count}} rows" (preferred)
10
+ // Also accepts: "User see [Users] table has {{count}} rows" (backward compat)
10
11
  {
11
12
  name: 'table-row-count',
12
13
  matcher: (step) => {
13
- return /\btable\s+has\b/i.test(step.text) &&
14
+ return /\btable\s+(?:has|with)\b/i.test(step.text) &&
14
15
  /\}\}\s*rows?\b/i.test(step.text) &&
15
16
  !!step.dataRef;
16
17
  },
@@ -25,7 +26,8 @@ exports.tablePatterns = [
25
26
  },
26
27
  priority: 16,
27
28
  },
28
- // "User see [Users] table has [Email] column"
29
+ // "User see [Users] table has [Email] column" (backward compat)
30
+ // Preferred: "User see [Email] column in [Users] table" (parent scoping)
29
31
  {
30
32
  name: 'table-column-exists',
31
33
  matcher: (step) => {
@@ -125,11 +127,12 @@ exports.tablePatterns = [
125
127
  },
126
128
  priority: 17,
127
129
  },
128
- // "User see [Users] table has row with {{name}}"
130
+ // "User see [Users] table row with {{name}}" (preferred)
131
+ // Also accepts: "User see [Users] table has row with {{name}}" (backward compat)
129
132
  {
130
133
  name: 'table-row-exists',
131
134
  matcher: (step) => {
132
- return /\btable\s+has\s+row\s+with\b/i.test(step.text) && !!step.dataRef;
135
+ return /\btable\s+(?:has\s+)?row\s+with\b/i.test(step.text) && !!step.dataRef;
133
136
  },
134
137
  resolver: (step, context) => {
135
138
  const resolved = context.selectorResolver.resolveSelector(step.selectorRef, context.featureName, 'table', step.nth);