@sun-asterisk/sungen 1.0.21 → 1.0.23

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 (45) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/core/live-scanner/element-finder.d.ts +2 -2
  3. package/dist/core/live-scanner/element-finder.d.ts.map +1 -1
  4. package/dist/core/live-scanner/element-finder.js +253 -56
  5. package/dist/core/live-scanner/element-finder.js.map +1 -1
  6. package/dist/core/live-scanner/matrix-reader.d.ts.map +1 -1
  7. package/dist/core/live-scanner/matrix-reader.js +1 -0
  8. package/dist/core/live-scanner/matrix-reader.js.map +1 -1
  9. package/dist/core/live-scanner/matrix-writer.d.ts.map +1 -1
  10. package/dist/core/live-scanner/matrix-writer.js +15 -4
  11. package/dist/core/live-scanner/matrix-writer.js.map +1 -1
  12. package/dist/core/live-scanner/step-replayer.d.ts.map +1 -1
  13. package/dist/core/live-scanner/step-replayer.js +3 -2
  14. package/dist/core/live-scanner/step-replayer.js.map +1 -1
  15. package/dist/core/live-scanner/types.d.ts +3 -2
  16. package/dist/core/live-scanner/types.d.ts.map +1 -1
  17. package/dist/generators/scaffold-generator/index.d.ts +1 -0
  18. package/dist/generators/scaffold-generator/index.d.ts.map +1 -1
  19. package/dist/generators/scaffold-generator/index.js +19 -0
  20. package/dist/generators/scaffold-generator/index.js.map +1 -1
  21. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +3 -0
  22. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -1
  23. package/dist/generators/test-generator/patterns/form-patterns.d.ts.map +1 -1
  24. package/dist/generators/test-generator/patterns/form-patterns.js +8 -2
  25. package/dist/generators/test-generator/patterns/form-patterns.js.map +1 -1
  26. package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
  27. package/dist/generators/test-generator/step-mapper.js +8 -5
  28. package/dist/generators/test-generator/step-mapper.js.map +1 -1
  29. package/dist/generators/test-generator/utils/selector-resolver.d.ts +1 -0
  30. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  31. package/dist/generators/test-generator/utils/selector-resolver.js +21 -17
  32. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/cli/index.ts +1 -1
  35. package/src/core/live-scanner/element-finder.ts +263 -55
  36. package/src/core/live-scanner/matrix-reader.ts +1 -0
  37. package/src/core/live-scanner/matrix-writer.ts +15 -4
  38. package/src/core/live-scanner/step-replayer.ts +3 -2
  39. package/src/core/live-scanner/types.ts +3 -2
  40. package/src/generators/scaffold-generator/index.ts +20 -0
  41. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +3 -0
  42. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -1
  43. package/src/generators/test-generator/patterns/form-patterns.ts +9 -2
  44. package/src/generators/test-generator/step-mapper.ts +8 -5
  45. package/src/generators/test-generator/utils/selector-resolver.ts +25 -17
@@ -1 +1 @@
1
- {"version":3,"file":"selector-resolver.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/selector-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAoE;AAEpE;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,eAAe,GAA8B;QACjD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,YAAY;QACZ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE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"}
1
+ {"version":3,"file":"selector-resolver.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/selector-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAoE;AAEpE;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,eAAe,GAA8B;QACjD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,YAAY;QACZ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;KACjD,CAAC;IAEF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,IAAY;IAC3C,6BAA6B;IAC7B,MAAM,WAAW,GAA8B;QAC7C,eAAe;QACf,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACtD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAClC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACvD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QAC/B,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;QACpD,qCAAqC;QACrC,GAAG,EAAE,EAAE;KACR,CAAC;IAEF,6BAA6B;IAC7B,MAAM,WAAW,GAA8B;QAC7C,eAAe;QACf,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACtD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAClC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACvD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QAC/B,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;QACrD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACrC,QAAQ;QACR,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;QACpD,qCAAqC;QACrC,GAAG,EAAE,EAAE;QACP,sCAAsC;QACtC,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAC9C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QAClC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QACtB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;KACvB,CAAC;IAEF,MAAM,OAAO,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC;IAEnD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,4DAA4D;QAC5D,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrB,iDAAiD;YACjD,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,IAAI,OAAO,CAAC;YAClB,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA0CD;;;GAGG;AACH,MAAa,gBAAgB;IAM3B,YAAY,YAAqB,EAAE,UAAmB;QAL9C,kBAAa,GAAG,IAAI,GAAG,EAA6C,CAAC;QAM3E,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,WAAmB;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,OAAO,uBAAuB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAE,wCAAwC;aACnG,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAK,8CAA8C;aAC9E,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAQ,+BAA+B;aAChE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAK,qCAAqC;aACrE,IAAI,EAAE;aACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAY,iBAAiB;IACvD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAC5C,MAAM,QAAQ,GAAG,8OAA8O,CAAC;QAChQ,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,WAAmB,EAAE,WAAoB,EAAE,WAAoB,EAAE,GAAY;QAC3F,MAAM,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;QAEpD,yEAAyE;QACzE,qDAAqD;QACrD,wDAAwD;QACxD,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAElD,0CAA0C;QAC1C,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,2FAA2F;QAC3F,IAAI,eAAe,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,8BAA8B;gBACvE,wDAAwD,CACzD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;OASG;IACK,MAAM,CAAC,oBAAoB,CAAC,WAAmB,EAAE,KAAa;QACpE,MAAM,UAAU,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEtE,MAAM,WAAW,GAA2C;YAC1D,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnF,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC5F,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACtF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAClE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAClG,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACzF,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnF,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACzF,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC9G,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAC/F,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACtF,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;SACtF,CAAC;QAEF,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,oBAAoB,CAAC,WAAmB;QACrD,MAAM,QAAQ,GAA2B;YACvC,6BAA6B;YAC7B,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,MAAM;YACjB,2CAA2C;YAC3C,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,MAAM;YACjB,wBAAwB;YACxB,QAAQ,EAAE,cAAc;YACxB,uBAAuB;YACvB,WAAW,EAAE,UAAU;YACvB,gBAAgB;YAChB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,iBAAiB;YACjB,KAAK,EAAE,QAAQ;YACf,gBAAgB;YAChB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,OAAO;SAClB,CAAC;QACF,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAAa,EAAE,WAAmB,EAAE,WAAoB,EAAE,GAAY;QACnG,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE3D,oDAAoD;QACpD,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,cAAc,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,cAAc,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;YAED,+DAA+D;YAC/D,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,GAAG,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;gBAChD,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,sEAAsE;QACtE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC3E,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACrF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,cAAc,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,cAAc,EAAE,CAAC,CAAC;YACxC,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,WAAW,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,WAAW,GAAG,kBAAkB,WAAW,QAAQ,MAAM,IAAI;YAC/E,wBAAwB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,WAAmB;QAC7C,6BAA6B;QAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEnD,4FAA4F;QAC5F,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,IAAI;oBACrD,0EAA0E,CAC3E,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3C,0CAA0C;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAEpE,iEAAiE;YACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,iFAAiF;QACjF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,aAAa,WAAW,8BAA8B;gBACtD,wDAAwD,CACzD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAoB,EAAE,aAAqB;QAClE,iBAAiB;QACjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,aAAa,CAAC;QACzC,6FAA6F;QAC7F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9F,4FAA4F;QAC5F,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1F,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;QACnC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAEtC,iDAAiD;QACjD,MAAM,eAAe,GAAG,CAAC,QAA0B,EAAoB,EAAE,CACvE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAExD,6FAA6F;QAC7F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,OAAO,eAAe,CAAC;gBACrB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,YAAY;gBACrB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,kFAAkF;QAClF,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9B,OAAO,eAAe,CAAC;gBACrB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,OAAO;gBAChB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa;gBAChB,OAAO,eAAe,CAAC;oBACrB,QAAQ,EAAE,aAAa;oBACvB,KAAK;oBACL,GAAG;oBACH,KAAK;iBACN,CAAC,CAAC;YAEL,KAAK,MAAM;gBACT,OAAO,eAAe,CAAC;oBACrB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI,EAAG,yCAAyC;oBACtD,KAAK;oBACL,GAAG;oBACH,KAAK;iBACN,CAAC,CAAC;YAEL,KAAK,QAAQ;gBACX,OAAO,eAAe,CAAC;oBACrB,QAAQ,EAAE,QAAQ;oBAClB,KAAK;oBACL,GAAG;iBACJ,CAAC,CAAC;YAEL,KAAK,OAAO;gBACV,OAAO,eAAe,CAAC;oBACrB,QAAQ,EAAE,OAAO;oBACjB,KAAK;oBACL,GAAG;oBACH,KAAK;iBACN,CAAC,CAAC;YAEL,KAAK,MAAM;gBACT,OAAO,eAAe,CAAC;oBACrB,QAAQ,EAAE,MAAM;oBAChB,KAAK;oBACL,GAAG;oBACH,KAAK;iBACN,CAAC,CAAC;YAEL;gBACE,0BAA0B;gBAC1B,OAAO,eAAe,CAAC;oBACrB,QAAQ,EAAE,aAAa;oBACvB,KAAK;oBACL,GAAG;oBACH,KAAK;iBACN,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,OAA8B;QACtD,8CAA8C;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC9E,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;gBACrB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/C,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACpD,OAAO;gBACL,QAAQ,EAAE,aAAa;gBACvB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,OAAO;gBACL,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7C,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBACjB,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;gBACzB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACK,mBAAmB,CAAC,WAAmB;QAC7C,MAAM,QAAQ,GAAG,OAAO,WAAW,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAiB,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAiB,EAAE,CAAC;QAEnC,mEAAmE;QACnE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAe,QAAQ,CAAC,CAAC;gBAC/D,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,iBAAiB,GAAG,IAAA,0BAAgB,EAAe,gBAAgB,CAAC,CAAC;gBAC3E,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,yDAAyD;YACzD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,KAAK;oBACxD,sBAAsB,WAAW,OAAO,CACzC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,IAAA,0BAAgB,EAAe,WAAW,CAAC,CAAC;YACrE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,iBAAiB,GAAG,IAAA,0BAAgB,EAAe,mBAAmB,CAAC,CAAC;YAC9E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,IAAY;QACvC,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,oDAAoD;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,4BAA4B;YAC5B,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,OAAO,CAAC,CAC1E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,OAAO,CAAC,CAC/D,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;QAEjE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,IAAY;QAC3C,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,oDAAoD;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,iCAAiC;YACjC,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACnF,CAAC;YAEF,iCAAiC;YACjC,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACnF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACxE,CAAC;YACF,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACxE,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAC1E,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAE1E,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,0DAA0D;gBAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,yCAAyC,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,IAAY;QACnC,gDAAgD;QAChD,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,oDAAoD;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,yCAAyC;QAEtG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,mDAAmD;YACnD,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACnF,CAAC;YAEF,2DAA2D;YAC3D,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACnF,CAAC;YAEF,iCAAiC;YACjC,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,OAAO,CAAC,CAC1E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACxE,CAAC;YACF,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,gBAAgB,CAAC,CACxE,CAAC;YACF,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,OAAO,CAAC,CAC/D,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,iCAAiC;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAC1E,iCAAiC;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC;QAC1E,mBAAmB;QACnB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;QAEjE,wEAAwE;QACxE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,0DAA0D;gBAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,yCAAyC,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,QAAgB,EAAE,SAAiB;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,YAAY,SAAS,0BAA0B,QAAQ,KAAK;gBAC5D,uBAAuB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAAC,QAAgB;QAC7C,MAAM,QAAQ,GAAG,UAAU,QAAQ,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAuB,CAAC;QAChE,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,gDAAgD;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,iCAAiC;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC,CAAC;QACpG,iCAAiC;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC,CAAC;QACpG,mBAAmB;QACnB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC;QAE3F,oDAAoD;QACpD,iCAAiC;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC,CAAC;QAC9E,iCAAiC;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC,CAAC;QAC9E,mBAAmB;QACnB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC;QAErE,2BAA2B;QAC3B,IAAI,QAA4B,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,0DAA0D;gBAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,iBAAiB,QAAQ,yCAAyC,CAAC,CAAC;gBACnF,CAAC;gBACD,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,KAAK;gBACpD,aAAa,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxC,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,kBAAQ,EAAqB,QAAQ,CAAC,CAAC;QAE5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF;AAluBD,4CAkuBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sun-asterisk/sungen",
3
- "version": "1.0.21",
3
+ "version": "1.0.23",
4
4
  "description": "AI-Native E2E Test Generator - Generate Playwright tests from Gherkin features using AI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/cli/index.ts CHANGED
@@ -21,7 +21,7 @@ async function main() {
21
21
  program
22
22
  .name('sungen')
23
23
  .description('AI-Native E2E Test Generator - Generate Playwright tests from Gherkin features')
24
- .version('1.0.21');
24
+ .version('1.0.23');
25
25
 
26
26
  // Global options
27
27
  program
@@ -32,11 +32,12 @@ export async function findElement(
32
32
  page: Page,
33
33
  gherkinRef: string,
34
34
  gherkinType: string,
35
- nth: number = 0
35
+ nth: number = 0,
36
+ context: ElementContext = 'page'
36
37
  ): Promise<LiveElement> {
37
38
  const namePattern = new RegExp(escapeRegex(gherkinRef), 'i');
38
39
 
39
- const result = await cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth);
40
+ const result = await cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth, context);
40
41
 
41
42
  if (!result) {
42
43
  return buildUnresolvedElement(gherkinRef, gherkinType);
@@ -50,17 +51,19 @@ export async function findElement(
50
51
  try {
51
52
  playwrightName = await result.locator.evaluate((el) => {
52
53
  // computedRole/computedLabel not available in all browsers, fallback to aria
53
- return (el as any).computedName
54
+ const raw = (el as any).computedName
54
55
  || el.getAttribute('aria-label')
55
56
  || el.textContent?.trim()?.substring(0, 100)
56
57
  || '';
58
+ return raw.replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
57
59
  });
58
60
  // Better approach: use Playwright's accessibility snapshot
59
61
  const ariaSnapshot = await result.locator.ariaSnapshot();
60
62
  // Parse accessible name from snapshot (format: "- role \"name\"" or "- role \"name\": ...")
61
- const nameMatch = ariaSnapshot?.match(/"([^"]+)"/);
63
+ // Regex handles escaped quotes (\") inside the name string
64
+ const nameMatch = ariaSnapshot?.match(/"((?:[^"\\]|\\.)*)"/);
62
65
  if (nameMatch) {
63
- playwrightName = nameMatch[1];
66
+ playwrightName = unescapeAriaSnapshot(nameMatch[1]);
64
67
  }
65
68
  } catch {
66
69
  playwrightName = attrs.accessibleName || gherkinRef;
@@ -78,6 +81,7 @@ export async function findElement(
78
81
  name: actualName,
79
82
  testid: attrs.testid,
80
83
  tag: attrs.tag,
84
+ contenteditable: attrs.contenteditable,
81
85
  placeholder: attrs.placeholder,
82
86
  label: attrs.label,
83
87
  context: 'page',
@@ -92,7 +96,8 @@ async function cascadingSearch(
92
96
  gherkinRef: string,
93
97
  gherkinType: string,
94
98
  namePattern: RegExp,
95
- nth: number
99
+ nth: number,
100
+ context: ElementContext = 'page'
96
101
  ): Promise<FindResult | null> {
97
102
  // ① getByTestId
98
103
  const testidResult = await tryTestId(page, gherkinRef, nth);
@@ -103,7 +108,7 @@ async function cascadingSearch(
103
108
  // ② getByRole — exact role match
104
109
  const roles = getRoleFallbacks(gherkinType);
105
110
  if (roles.length > 0) {
106
- const exactResult = await tryRole(page, roles[0], namePattern, nth);
111
+ const exactResult = await tryRole(page, roles[0], gherkinRef, namePattern, nth);
107
112
  if (exactResult) {
108
113
  return {
109
114
  ...exactResult,
@@ -114,7 +119,7 @@ async function cascadingSearch(
114
119
 
115
120
  // ③ getByRole — fallback roles
116
121
  for (let i = 1; i < roles.length; i++) {
117
- const fallbackResult = await tryRole(page, roles[i], namePattern, nth);
122
+ const fallbackResult = await tryRole(page, roles[i], gherkinRef, namePattern, nth);
118
123
  if (fallbackResult) {
119
124
  return {
120
125
  ...fallbackResult,
@@ -126,16 +131,24 @@ async function cascadingSearch(
126
131
  }
127
132
 
128
133
  // ④ getByLabel — for form elements
129
- const labelResult = await tryLabel(page, namePattern, nth);
134
+ const labelResult = await tryLabel(page, gherkinRef, namePattern, nth);
130
135
  if (labelResult) return labelResult;
131
136
 
132
137
  // ⑤ getByPlaceholder — for input fields
133
- const placeholderResult = await tryPlaceholder(page, namePattern, nth);
138
+ const placeholderResult = await tryPlaceholder(page, gherkinRef, namePattern, nth);
134
139
  if (placeholderResult) return placeholderResult;
140
+
141
+ // ⑤.5 contenteditable — for rich text editors (textarea/textbox/field types)
142
+ // When role match fails (editor has role="textbox" but no accessible name),
143
+ // try to find a [contenteditable="true"] element scoped to the current context
144
+ if (isEditableType(gherkinType)) {
145
+ const ceResult = await tryContentEditable(page, nth, context);
146
+ if (ceResult) return ceResult;
147
+ }
135
148
  }
136
149
 
137
150
  // ⑥ getByText — final fallback
138
- const textResult = await tryText(page, namePattern, nth);
151
+ const textResult = await tryText(page, gherkinRef, namePattern, nth);
139
152
  if (textResult) return textResult;
140
153
 
141
154
  return null;
@@ -171,17 +184,59 @@ async function tryTestId(page: Page, ref: string, nth: number): Promise<FindResu
171
184
  return null;
172
185
  }
173
186
 
174
- // ② ③ getByRole
187
+ // ② ③ getByRole — regex first, exact disambiguation when ambiguous
175
188
  async function tryRole(
176
189
  page: Page,
177
190
  role: string,
191
+ gherkinRef: string,
178
192
  namePattern: RegExp,
179
193
  nth: number
180
194
  ): Promise<FindResult | null> {
181
195
  try {
182
196
  const locator = page.getByRole(role as any, { name: namePattern });
183
197
  const count = await locator.count();
184
- if (count > 0) {
198
+ if (count === 0) return null;
199
+
200
+ if (count === 1) {
201
+ // Single match — use directly, zero overhead
202
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
203
+ if (await target.isVisible({ timeout: 3000 })) {
204
+ // Get the actual accessible name for the selector
205
+ const accessibleName = await target.evaluate((el) =>
206
+ el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100) || ''
207
+ );
208
+ return {
209
+ locator: target,
210
+ selectorType: 'role',
211
+ selectorValue: role,
212
+ role: role,
213
+ matchMethod: 'exact_role',
214
+ warning: null,
215
+ };
216
+ }
217
+ } else {
218
+ // Multiple matches — try exact to disambiguate
219
+ try {
220
+ const exactLocator = page.getByRole(role as any, { name: gherkinRef, exact: true });
221
+ const exactCount = await exactLocator.count();
222
+ if (exactCount > 0) {
223
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
224
+ if (await target.isVisible({ timeout: 3000 })) {
225
+ return {
226
+ locator: target,
227
+ selectorType: 'role',
228
+ selectorValue: role,
229
+ role: role,
230
+ matchMethod: 'exact_role',
231
+ warning: null,
232
+ };
233
+ }
234
+ }
235
+ } catch {
236
+ // Exact disambiguation failed
237
+ }
238
+
239
+ // Fall back to first regex match
185
240
  const target = nth > 0 ? locator.nth(nth) : locator.first();
186
241
  if (await target.isVisible({ timeout: 3000 })) {
187
242
  // Get the actual accessible name for the selector
@@ -204,73 +259,189 @@ async function tryRole(
204
259
  return null;
205
260
  }
206
261
 
207
- // ④ getByLabel
208
- async function tryLabel(page: Page, namePattern: RegExp, nth: number): Promise<FindResult | null> {
262
+ // ④ getByLabel — regex first, exact disambiguation when ambiguous
263
+ async function tryLabel(page: Page, gherkinRef: string, namePattern: RegExp, nth: number): Promise<FindResult | null> {
209
264
  try {
210
265
  const locator = page.getByLabel(namePattern);
211
266
  const count = await locator.count();
212
- if (count > 0) {
213
- const target = nth > 0 ? locator.nth(nth) : locator.first();
214
- if (await target.isVisible({ timeout: 3000 })) {
215
- return {
216
- locator: target,
217
- selectorType: 'label',
218
- selectorValue: '', // Will be filled from attrs
219
- role: '',
220
- matchMethod: 'label',
221
- warning: null,
222
- };
267
+ if (count === 0) return null;
268
+
269
+ if (count > 1) {
270
+ // Multiple matches — try exact to disambiguate
271
+ try {
272
+ const exactLocator = page.getByLabel(gherkinRef, { exact: true });
273
+ const exactCount = await exactLocator.count();
274
+ if (exactCount > 0) {
275
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
276
+ if (await target.isVisible({ timeout: 3000 })) {
277
+ return {
278
+ locator: target,
279
+ selectorType: 'label',
280
+ selectorValue: '',
281
+ role: '',
282
+ matchMethod: 'label',
283
+ warning: null,
284
+ };
285
+ }
286
+ }
287
+ } catch {
288
+ // Exact disambiguation failed
223
289
  }
224
290
  }
291
+
292
+ // Single match or exact failed — use first regex match
293
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
294
+ if (await target.isVisible({ timeout: 3000 })) {
295
+ return {
296
+ locator: target,
297
+ selectorType: 'label',
298
+ selectorValue: '',
299
+ role: '',
300
+ matchMethod: 'label',
301
+ warning: null,
302
+ };
303
+ }
225
304
  } catch {
226
305
  // Label not found
227
306
  }
228
307
  return null;
229
308
  }
230
309
 
231
- // ⑤ getByPlaceholder
232
- async function tryPlaceholder(page: Page, namePattern: RegExp, nth: number): Promise<FindResult | null> {
310
+ // ⑤ getByPlaceholder — regex first, exact disambiguation when ambiguous
311
+ async function tryPlaceholder(page: Page, gherkinRef: string, namePattern: RegExp, nth: number): Promise<FindResult | null> {
233
312
  try {
234
313
  const locator = page.getByPlaceholder(namePattern);
235
314
  const count = await locator.count();
236
- if (count > 0) {
237
- const target = nth > 0 ? locator.nth(nth) : locator.first();
238
- if (await target.isVisible({ timeout: 3000 })) {
239
- const placeholder = await target.getAttribute('placeholder');
240
- return {
241
- locator: target,
242
- selectorType: 'placeholder',
243
- selectorValue: placeholder || '',
244
- role: '',
245
- matchMethod: 'placeholder',
246
- warning: null,
247
- };
315
+ if (count === 0) return null;
316
+
317
+ if (count > 1) {
318
+ // Multiple matches try exact to disambiguate
319
+ try {
320
+ const exactLocator = page.getByPlaceholder(gherkinRef, { exact: true });
321
+ const exactCount = await exactLocator.count();
322
+ if (exactCount > 0) {
323
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
324
+ if (await target.isVisible({ timeout: 3000 })) {
325
+ const rawPlaceholder = await target.getAttribute('placeholder');
326
+ return {
327
+ locator: target,
328
+ selectorType: 'placeholder',
329
+ selectorValue: sanitizeText(rawPlaceholder || ''),
330
+ role: '',
331
+ matchMethod: 'placeholder',
332
+ warning: null,
333
+ };
334
+ }
335
+ }
336
+ } catch {
337
+ // Exact disambiguation failed
248
338
  }
249
339
  }
340
+
341
+ // Single match or exact failed — use first regex match
342
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
343
+ if (await target.isVisible({ timeout: 3000 })) {
344
+ const rawPlaceholder = await target.getAttribute('placeholder');
345
+ return {
346
+ locator: target,
347
+ selectorType: 'placeholder',
348
+ selectorValue: sanitizeText(rawPlaceholder || ''),
349
+ role: '',
350
+ matchMethod: 'placeholder',
351
+ warning: null,
352
+ };
353
+ }
250
354
  } catch {
251
355
  // Placeholder not found
252
356
  }
253
357
  return null;
254
358
  }
255
359
 
256
- // ⑥ getByText
257
- async function tryText(page: Page, namePattern: RegExp, nth: number): Promise<FindResult | null> {
360
+ /**
361
+ * Check if gherkinType is an editable/input type that could be a contenteditable div
362
+ */
363
+ function isEditableType(gherkinType: string): boolean {
364
+ const normalized = gherkinType.toLowerCase().trim();
365
+ return normalized === 'textarea' || normalized === 'textbox' || normalized === 'field' || normalized === 'editor';
366
+ }
367
+
368
+ // ⑤.5 contenteditable — for rich text editors
369
+ // Scoped to current context (dialog/page) to avoid matching wrong editor.
370
+ // The nth from Gherkin refers to text matches, not contenteditable count,
371
+ // so we try the requested nth first, then fall back to first match.
372
+ async function tryContentEditable(page: Page, nth: number, context: ElementContext): Promise<FindResult | null> {
258
373
  try {
259
- const locator = page.getByText(namePattern);
374
+ // Scope the search to the current context
375
+ const root = context === 'dialog' ? page.getByRole('dialog') : page;
376
+ const locator = root.locator('[contenteditable="true"]');
260
377
  const count = await locator.count();
261
- if (count > 0) {
262
- const target = nth > 0 ? locator.nth(nth) : locator.first();
378
+ if (count === 0) return null;
379
+
380
+ // Try requested nth first, then fall back to first visible
381
+ const candidates = nth > 0 && count > nth ? [nth, 0] : [0];
382
+ for (const idx of candidates) {
383
+ const target = idx > 0 ? locator.nth(idx) : locator.first();
263
384
  if (await target.isVisible({ timeout: 3000 })) {
264
385
  return {
265
386
  locator: target,
266
- selectorType: 'text',
267
- selectorValue: '', // Will be filled from attrs
268
- role: '',
269
- matchMethod: 'text_only',
270
- warning: null,
387
+ selectorType: 'locator',
388
+ selectorValue: '[contenteditable="true"]',
389
+ role: 'textbox',
390
+ matchMethod: 'contenteditable',
391
+ warning: count > 1
392
+ ? `${count} contenteditable elements in ${context}, using index ${idx}. Use nth in Gherkin to disambiguate.`
393
+ : null,
271
394
  };
272
395
  }
273
396
  }
397
+ } catch {
398
+ // Not found
399
+ }
400
+ return null;
401
+ }
402
+
403
+ // ⑥ getByText — regex first, exact disambiguation when ambiguous
404
+ async function tryText(page: Page, gherkinRef: string, namePattern: RegExp, nth: number): Promise<FindResult | null> {
405
+ try {
406
+ const locator = page.getByText(namePattern);
407
+ const count = await locator.count();
408
+ if (count === 0) return null;
409
+
410
+ if (count > 1) {
411
+ // Multiple matches — try exact to disambiguate
412
+ try {
413
+ const exactLocator = page.getByText(gherkinRef, { exact: true });
414
+ const exactCount = await exactLocator.count();
415
+ if (exactCount > 0) {
416
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
417
+ if (await target.isVisible({ timeout: 3000 })) {
418
+ return {
419
+ locator: target,
420
+ selectorType: 'text',
421
+ selectorValue: '',
422
+ role: '',
423
+ matchMethod: 'text_only',
424
+ warning: null,
425
+ };
426
+ }
427
+ }
428
+ } catch {
429
+ // Exact disambiguation failed
430
+ }
431
+ }
432
+
433
+ // Single match or exact failed — use first regex match
434
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
435
+ if (await target.isVisible({ timeout: 3000 })) {
436
+ return {
437
+ locator: target,
438
+ selectorType: 'text',
439
+ selectorValue: '',
440
+ role: '',
441
+ matchMethod: 'text_only',
442
+ warning: null,
443
+ };
444
+ }
274
445
  } catch {
275
446
  // Text not found
276
447
  }
@@ -280,32 +451,43 @@ async function tryText(page: Page, namePattern: RegExp, nth: number): Promise<Fi
280
451
  async function extractElementAttributes(locator: Locator): Promise<{
281
452
  testid: string | null;
282
453
  tag: string;
454
+ contenteditable: boolean;
283
455
  accessibleName: string;
284
456
  placeholder: string | null;
285
457
  label: string | null;
286
458
  }> {
287
459
  try {
288
460
  return await locator.evaluate((el) => {
461
+ // Inline sanitizer — browser context can't access Node functions
462
+ const clean = (s: string | null | undefined): string =>
463
+ (s || '').replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
464
+
289
465
  // Find associated label
290
466
  let label: string | null = null;
291
467
  if (el.id) {
292
468
  const labelEl = el.ownerDocument.querySelector(`label[for="${el.id}"]`);
293
- if (labelEl) label = labelEl.textContent?.trim() || null;
469
+ if (labelEl) label = clean(labelEl.textContent) || null;
294
470
  }
295
471
  if (!label && el.closest('label')) {
296
- label = el.closest('label')?.textContent?.trim() || null;
472
+ label = clean(el.closest('label')?.textContent) || null;
297
473
  }
298
474
 
475
+ // Detect contenteditable: check element itself and ancestors (rich text editors
476
+ // often have contenteditable on a parent div wrapping the editable area)
477
+ const isContentEditable = el.getAttribute('contenteditable') === 'true'
478
+ || el.isContentEditable;
479
+
299
480
  return {
300
481
  testid: el.getAttribute('data-testid'),
301
482
  tag: el.tagName.toLowerCase(),
302
- accessibleName: el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100) || '',
303
- placeholder: el.getAttribute('placeholder'),
483
+ contenteditable: isContentEditable,
484
+ accessibleName: clean(el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100)),
485
+ placeholder: clean(el.getAttribute('placeholder')) || null,
304
486
  label,
305
487
  };
306
488
  });
307
489
  } catch {
308
- return { testid: null, tag: 'unknown', accessibleName: '', placeholder: null, label: null };
490
+ return { testid: null, tag: 'unknown', contenteditable: false, accessibleName: '', placeholder: null, label: null };
309
491
  }
310
492
  }
311
493
 
@@ -319,6 +501,7 @@ function buildUnresolvedElement(gherkinRef: string, gherkinType: string): LiveEl
319
501
  name: gherkinRef,
320
502
  testid: null,
321
503
  tag: '',
504
+ contenteditable: false,
322
505
  placeholder: null,
323
506
  label: null,
324
507
  context: 'page',
@@ -328,6 +511,31 @@ function buildUnresolvedElement(gherkinRef: string, gherkinType: string): LiveEl
328
511
  };
329
512
  }
330
513
 
514
+ /**
515
+ * Normalize a DOM text value for YAML output:
516
+ * collapse real newlines/tabs/carriage-returns into spaces, then deduplicate whitespace.
517
+ * Runs in both browser evaluate() and Node context.
518
+ */
519
+ function sanitizeText(str: string): string {
520
+ return str.replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
521
+ }
522
+
523
+ /**
524
+ * Unescape a string extracted from Playwright's ariaSnapshot() output.
525
+ * ariaSnapshot encodes special chars as literal escape sequences:
526
+ * \n → newline, \t → tab, \\ → backslash, \" → quote
527
+ * We unescape them then normalize whitespace.
528
+ */
529
+ function unescapeAriaSnapshot(str: string): string {
530
+ return str
531
+ .replace(/\\n/g, ' ')
532
+ .replace(/\\t/g, ' ')
533
+ .replace(/\\"/g, '"')
534
+ .replace(/\\\\/g, '\\')
535
+ .replace(/\s+/g, ' ')
536
+ .trim();
537
+ }
538
+
331
539
  function escapeRegex(str: string): string {
332
540
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
333
541
  }
@@ -45,6 +45,7 @@ export function mergeMatrixElements(result: LiveScanResult): Record<string, Live
45
45
  name: el.name || '',
46
46
  testid: el.testid || null,
47
47
  tag: el.tag || '',
48
+ contenteditable: el.contenteditable === true,
48
49
  placeholder: el.placeholder || null,
49
50
  label: el.label || null,
50
51
  context: (el.context as any) || 'page',