vigiles 2.0.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 (156) hide show
  1. package/.claude/settings.json +46 -0
  2. package/.claude/settings.local.json +8 -0
  3. package/.claude-plugin/hooks/post-edit.sh +34 -0
  4. package/.claude-plugin/hooks/pre-edit.sh +40 -0
  5. package/.claude-plugin/hooks/session-start.sh +38 -0
  6. package/.claude-plugin/marketplace.json +14 -0
  7. package/.claude-plugin/plugin.json +47 -0
  8. package/.github/workflows/ci.yml +81 -0
  9. package/.prettierignore +1 -0
  10. package/.vigiles/generated.d.ts +205 -0
  11. package/CLAUDE.md +95 -0
  12. package/CLAUDE.md.spec.ts +142 -0
  13. package/CONTRIBUTING.md +121 -0
  14. package/LICENSE +21 -0
  15. package/README.md +377 -0
  16. package/action.yml +25 -0
  17. package/dist/action.d.ts +7 -0
  18. package/dist/action.d.ts.map +1 -0
  19. package/dist/action.js +180 -0
  20. package/dist/action.js.map +1 -0
  21. package/dist/cli.d.ts +12 -0
  22. package/dist/cli.d.ts.map +1 -0
  23. package/dist/cli.js +1267 -0
  24. package/dist/cli.js.map +1 -0
  25. package/dist/cli.test.d.ts +2 -0
  26. package/dist/cli.test.d.ts.map +1 -0
  27. package/dist/cli.test.js +650 -0
  28. package/dist/cli.test.js.map +1 -0
  29. package/dist/compile.d.ts +101 -0
  30. package/dist/compile.d.ts.map +1 -0
  31. package/dist/compile.js +503 -0
  32. package/dist/compile.js.map +1 -0
  33. package/dist/evolve.d.ts +132 -0
  34. package/dist/evolve.d.ts.map +1 -0
  35. package/dist/evolve.js +599 -0
  36. package/dist/evolve.js.map +1 -0
  37. package/dist/freshness.d.ts +67 -0
  38. package/dist/freshness.d.ts.map +1 -0
  39. package/dist/freshness.js +244 -0
  40. package/dist/freshness.js.map +1 -0
  41. package/dist/freshness.test.d.ts +2 -0
  42. package/dist/freshness.test.d.ts.map +1 -0
  43. package/dist/freshness.test.js +356 -0
  44. package/dist/freshness.test.js.map +1 -0
  45. package/dist/generate-types.d.ts +34 -0
  46. package/dist/generate-types.d.ts.map +1 -0
  47. package/dist/generate-types.js +381 -0
  48. package/dist/generate-types.js.map +1 -0
  49. package/dist/inline.d.ts +58 -0
  50. package/dist/inline.d.ts.map +1 -0
  51. package/dist/inline.js +142 -0
  52. package/dist/inline.js.map +1 -0
  53. package/dist/inline.test.d.ts +5 -0
  54. package/dist/inline.test.d.ts.map +1 -0
  55. package/dist/inline.test.js +152 -0
  56. package/dist/inline.test.js.map +1 -0
  57. package/dist/linters.d.ts +38 -0
  58. package/dist/linters.d.ts.map +1 -0
  59. package/dist/linters.js +588 -0
  60. package/dist/linters.js.map +1 -0
  61. package/dist/proofs.d.ts +272 -0
  62. package/dist/proofs.d.ts.map +1 -0
  63. package/dist/proofs.js +622 -0
  64. package/dist/proofs.js.map +1 -0
  65. package/dist/proofs.test.d.ts +9 -0
  66. package/dist/proofs.test.d.ts.map +1 -0
  67. package/dist/proofs.test.js +952 -0
  68. package/dist/proofs.test.js.map +1 -0
  69. package/dist/spec.d.ts +258 -0
  70. package/dist/spec.d.ts.map +1 -0
  71. package/dist/spec.js +113 -0
  72. package/dist/spec.js.map +1 -0
  73. package/dist/spec.test.d.ts +2 -0
  74. package/dist/spec.test.d.ts.map +1 -0
  75. package/dist/spec.test.js +1222 -0
  76. package/dist/spec.test.js.map +1 -0
  77. package/dist/types.d.ts +101 -0
  78. package/dist/types.d.ts.map +1 -0
  79. package/dist/types.js +3 -0
  80. package/dist/types.js.map +1 -0
  81. package/dist/validate.d.ts +10 -0
  82. package/dist/validate.d.ts.map +1 -0
  83. package/dist/validate.js +286 -0
  84. package/dist/validate.js.map +1 -0
  85. package/dist/validate.test.d.ts +2 -0
  86. package/dist/validate.test.d.ts.map +1 -0
  87. package/dist/validate.test.js +531 -0
  88. package/dist/validate.test.js.map +1 -0
  89. package/docs/agent-setup.md +85 -0
  90. package/docs/agent-workflows.md +103 -0
  91. package/docs/comparison.md +71 -0
  92. package/docs/freshness.md +124 -0
  93. package/docs/inline-mode.md +119 -0
  94. package/docs/linter-support.md +166 -0
  95. package/docs/spec-format.md +194 -0
  96. package/eslint.config.mjs +79 -0
  97. package/examples/CLAUDE.md +54 -0
  98. package/examples/CLAUDE.md.spec.ts +65 -0
  99. package/examples/SKILL.md +50 -0
  100. package/examples/SKILL.md.spec.ts +57 -0
  101. package/fixtures/example-project/CLAUDE.md +11 -0
  102. package/fixtures/example-project/package.json +9 -0
  103. package/fixtures/example-project/src/index.ts +3 -0
  104. package/fixtures/example-project/src/utils.test.ts +2 -0
  105. package/fixtures/example-project/src/utils.ts +3 -0
  106. package/logo.png +0 -0
  107. package/package.json +42 -0
  108. package/research/adoption-strategy.md +111 -0
  109. package/research/agent-integration.md +145 -0
  110. package/research/ai-code-quality.md +197 -0
  111. package/research/code-search-for-agents.md +313 -0
  112. package/research/competitive-landscape.md +163 -0
  113. package/research/doc-freshness.md +516 -0
  114. package/research/executable-specs.md +368 -0
  115. package/research/feature-ideas.md +464 -0
  116. package/research/formal-proofs-for-agents.md +338 -0
  117. package/research/fp-for-agent-harness.md +150 -0
  118. package/research/fp-for-deterministic-ai.md +131 -0
  119. package/research/self-evolving-specs.md +298 -0
  120. package/schemas/claude-md-strict.yml +18 -0
  121. package/schemas/claude-md.yml +6 -0
  122. package/schemas/skill-strict.yml +12 -0
  123. package/schemas/skill.yml +5 -0
  124. package/skills/audit-feedback-loop/SKILL.md +76 -0
  125. package/skills/edit-spec/SKILL.md +131 -0
  126. package/skills/enforce-rules-format/SKILL.md +71 -0
  127. package/skills/generate-logo/SKILL.md +102 -0
  128. package/skills/generate-rule/SKILL.md +90 -0
  129. package/skills/linter-docs/clippy.md +241 -0
  130. package/skills/linter-docs/eslint.md +384 -0
  131. package/skills/linter-docs/pylint.md +288 -0
  132. package/skills/linter-docs/rubocop.md +277 -0
  133. package/skills/linter-docs/ruff.md +187 -0
  134. package/skills/linter-docs/stylelint.md +247 -0
  135. package/skills/migrate-to-spec/SKILL.md +124 -0
  136. package/skills/pr-to-lint-rule/SKILL.md +97 -0
  137. package/skills/strengthen/SKILL.md +168 -0
  138. package/src/action.ts +214 -0
  139. package/src/cli.test.ts +914 -0
  140. package/src/cli.ts +1631 -0
  141. package/src/compile.ts +691 -0
  142. package/src/evolve.ts +781 -0
  143. package/src/freshness.test.ts +449 -0
  144. package/src/freshness.ts +299 -0
  145. package/src/generate-types.ts +448 -0
  146. package/src/inline.test.ts +206 -0
  147. package/src/inline.ts +164 -0
  148. package/src/linters.ts +739 -0
  149. package/src/proofs.test.ts +1314 -0
  150. package/src/proofs.ts +849 -0
  151. package/src/spec.test.ts +1471 -0
  152. package/src/spec.ts +427 -0
  153. package/src/types.ts +117 -0
  154. package/src/validate.test.ts +701 -0
  155. package/src/validate.ts +381 -0
  156. package/tsconfig.json +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proofs.test.js","sourceRoot":"","sources":["../src/proofs.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,yCAAyC;AACzC,gEAAwC;AAExC,2CAeqB;AAErB,2CAA4E;AAG5E,uCAA8C;AAE9C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,SAAS;IAChB,OAAO;QACL,YAAY,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,wBAAwB,CAAC;QACpE,gBAAgB,EAAE,IAAA,iBAAO,EAAC,uBAAuB,EAAE,kBAAkB,CAAC;QACtE,cAAc,EAAE,IAAA,kBAAQ,EAAC,6CAA6C,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAA,cAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,MAAM,GAAyB;YACnC,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,OAAO,CAAC;SAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAyB;YACnC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,OAAO,CAAC;SAC7C,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAyB;YACnC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,OAAO,CAAC;SAC7C,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,EAAE;YAC9C,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;SAChC,CAAC,CAAC;QACH,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAyB;YACnC,QAAQ,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SAC5B,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,QAAQ,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;YAC3B,OAAO,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,MAAM,CAAC;SAC9C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrC,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAyB;YACnC,UAAU,EAAE,IAAA,kBAAQ,EAAC,MAAM,CAAC;YAC5B,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,qEAAqE;QACrE,kEAAkE;QAClE,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAyB;YACnC,UAAU,EAAE,IAAA,kBAAQ,EAAC,MAAM,CAAC;SAC7B,CAAC;QACF,MAAM,KAAK,GAAyB,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,KAAK,EAAE;YAC9C,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;SACrC,CAAC,CAAC;QACH,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,gBAAM,CAAC,KAAK,CAAC,IAAA,uBAAW,EAAC,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5D,gBAAM,CAAC,KAAK,CAAC,IAAA,uBAAW,EAAC,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9D,gBAAM,CAAC,KAAK,CAAC,IAAA,uBAAW,EAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,gBAAM,CAAC,KAAK,CAAC,IAAA,uBAAW,EAAC,UAAU,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7D,gBAAM,CAAC,KAAK,CAAC,IAAA,uBAAW,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7D,gBAAM,CAAC,KAAK,CAAC,IAAA,uBAAW,EAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAY,EAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,gBAAM,CAAC,KAAK,CAAC,IAAA,wBAAY,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,KAAK,EAAE,GAAG,EAAE;IACnB,IAAA,cAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,gBAAM,CAAC,KAAK,CAAC,IAAA,eAAG,EAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,GAAG,IAAA,eAAG,EACX,8CAA8C,EAC9C,qDAAqD,CACtD,CAAC;QACF,gBAAM,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,GAAG,IAAA,eAAG,EACX,8CAA8C,EAC9C,6DAA6D,CAC9D,CAAC;QACF,gBAAM,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,2BAA2B,CAAC;QACtC,MAAM,CAAC,GAAG,iCAAiC,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAA,eAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,IAAA,eAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,6EAA6E;QAC7E,qCAAqC;QACrC,gBAAM,CAAC,EAAE,CACP,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,EACvB,qCAAqC,EAAE,OAAO,EAAE,EAAE,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,gBAAM,CAAC,KAAK,CAAC,IAAA,eAAG,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,2BAA2B;QAC3B,MAAM,CAAC,GAAG,IAAA,eAAG,EAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAClC,gBAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,wBAAwB,CAAC;YACpE,YAAY,EAAE,IAAA,kBAAQ,EACpB,mDAAmD,CACpD;YACD,WAAW,EAAE,IAAA,iBAAO,EAAC,uBAAuB,EAAE,kBAAkB,CAAC;SAClE,CAAC;QAEF,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,8CAA8C;QAC9C,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,4CAA4C;QAC1E,qDAAqD;IACvD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,+DAA+D;QAC/D,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;YACzC,MAAM,EAAE,IAAA,kBAAQ,EAAC,QAAQ,CAAC;SACQ,CAAC;QAErC,gBAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAA,4BAAgB,EAAC,KAAK,EAAE,GAAG,CAAC,EAClC,2BAA2B,CAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,cAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,mCAAmC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,MAAM,MAAM,GAAG,IAAI,uBAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAExC,iBAAiB;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,iCAAiC;QACjC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,cAAc,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC;QACvC,2DAA2D;QAC3D,gBAAM,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,MAAM,GAAG,IAAI,uBAAW,CAAC,GAAG,CAAC,CAAC;QACpC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,GAAG,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAErC,qBAAqB;QACrB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACnC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,uBAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,gBAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,oDAAoD,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,GAAG,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAErC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACd,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,GAAG,GAAG,uBAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,gBAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,gCAAgC,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,GAAG,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC;QACvC,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5B,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACjC,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAA,cAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAA,sBAAU,EACvB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,4CAA4C;QAClE,OAAO,CACR,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,CAAC,OAAO,EAAE,EAAE;YACpC,KAAK,EAAE,CAAC;YACR,+BAA+B;YAC/B,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,OAAO,GAAG,GAAG,CAAC;YACpC,OAAO,OAAO,CAAC;QACjB,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,IAAA,sBAAU,EACvB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,aAAa;QACzD,GAAG,EACH,EAAE,CACH,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,IAAA,sBAAU,EACvB,GAAG,EAAE,CAAC,UAAU,OAAO,EAAE,EAAE,EAAE,gBAAgB;QAC7C,OAAO,EACP,CAAC,CACF,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,cAAE,EAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,OAAO,GAAG,IAAI,yBAAa,EAAE,CAAC;QACpC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,OAAO,GAAG,IAAI,yBAAa,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAC1B,SAAS,EACT,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,EAC7D,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;QACF,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5B,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAC1B,SAAS,EACT,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EACrE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;QACF,gBAAM,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC3B,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhC,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAI,yBAAa,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CACZ,IAAI,EACJ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EACpD,EAAE,CACH,CAAC;QACF,OAAO,CAAC,MAAM,CACZ,IAAI,EACJ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EACpD,EAAE,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,yBAAa,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CACZ,IAAI,EACJ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EACxD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACjC,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,yBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE9C,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,gBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,yBAAa,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CACZ,IAAI,EACJ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EACxD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACjC,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACjB,gCAAgC;QAChC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;QACxC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QAE/B,8BAA8B;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrD,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,MAAM,OAAO,GAAG,IAAI,yBAAa,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAa;YACzB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,WAAW,EAAE,UAAU;SACxB,CAAC;QACF,MAAM,MAAM,GAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEvC,uEAAuE;QACvE,gEAAgE;QAChE,cAAc;QACd,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;QAClC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAEjD,0DAA0D;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9B,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAClB,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtD,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5C,mEAAmE;QACnE,4CAA4C;QAC5C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAA,cAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAA,wBAAY,EACzB,CAAC,EACD,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,mBAAmB;QACjE;YACE,cAAc,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;SACtC,EACD,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,CACtC,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,IAAA,wBAAY,EACzB,GAAG,EACH,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,kBAAkB;QACjE;YACE,cAAc,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;SACtC,EACD,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CACjC,CAAC;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QACrD,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACvC,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3B,IAAA,wBAAY,EACV,CAAC,EACD,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,EAC5C,EAAE,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EACnC,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,CACzB,CAAC;QAEJ,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,gBAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACnC,gBAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,MAAM,GAAG,CAAC,KAA2B,EAAc,EAAE,CAAC,CAAC;IAC3D,SAAS,EAAE,QAAQ;IACnB,KAAK;CACN,CAAC,CAAC;AAEH,IAAA,oBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAA,cAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,WAAW,GAAG,IAAA,mBAAO,EACzB,MAAM,CAAC;YACL,CAAC,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;YACpB,CAAC,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACrB,CAAC,CACH,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,mBAAO,EACzB,MAAM,CAAC;YACL,CAAC,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,OAAO,CAAC;YACxC,CAAC,EAAE,IAAA,iBAAO,EAAC,uBAAuB,EAAE,OAAO,CAAC;SAC7C,CAAC,CACH,CAAC;QAEF,gBAAM,CAAC,EAAE,CACP,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,EACrC,aAAa,WAAW,CAAC,KAAK,wCAAwC,WAAW,CAAC,KAAK,GAAG,CAC3F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,IAAA,mBAAO,EACpB,MAAM,CAAC;YACL,CAAC,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,GAAG,CAAC;YACpC,CAAC,EAAE,IAAA,kBAAQ,EAAC,GAAG,CAAC;YAChB,CAAC,EAAE,IAAA,iBAAO,EAAC,uBAAuB,EAAE,GAAG,CAAC;SACzC,CAAC,CACH,CAAC;QAEF,0BAA0B;QAC1B,gBAAM,CAAC,EAAE,CACP,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EACxC,iCAAiC,MAAM,CAAC,QAAQ,EAAE,CACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,cAAE,EAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,IAAA,kBAAQ,EAAC,aAAa,CAAC;SAC9B,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YACrC,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,IAAA,kBAAQ,EAAC,YAAY,CAAC;SAC7B,CAAC,CAAC;QAEH,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACjB,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,cAAc;YACtB,UAAU,EAAE,8BAA8B;SAC3C,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YACrC,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC;QAEH,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACjB,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,YAAY;YACpB,aAAa,EAAE,iCAAiC;SACjD,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,mCAAmC;SAC7C,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;YACzC,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,IAAA,iBAAO,EACjB,mBAAmB,EACnB,qCAAqC,CACtC;SACF,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC;QACnC,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;QACrC,gBAAM,CAAC,EAAE,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;YACvC,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,aAAa,CAAC;SACxD,CAAC,CAAC;QAEH,gBAAM,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QACpD,+BAA+B;QAC/B,gBAAM,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;QAChC,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,oBAAoB,CAAC;YAChE,SAAS,EAAE,IAAA,iBAAO,EAAC,gBAAgB,EAAE,wBAAwB,CAAC;YAC9D,QAAQ,EAAE,IAAA,iBAAO,EAAC,eAAe,EAAE,iBAAiB,CAAC;SACtD,CAAC;QACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;YACpC,QAAQ,EAAE,UAAU,EAAE,kCAAkC;YACxD,UAAU,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,WAAW,CAAC;SACtD,CAAC,CAAC;QAEH,gBAAM,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;QACvE,kCAAkC;QAClC,gBAAM,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;QAChC,gBAAM,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QAC7B,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,aAAa,CAAC;YACzD,YAAY,EAAE,IAAA,kBAAQ,EAAC,iBAAiB,CAAC;SAC1C,CAAC;QACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;YACvC,QAAQ,EAAE,YAAY,EAAE,kBAAkB;YAC1C,UAAU,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,SAAS,CAAC;SACpD,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;QAChC,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,oBAAoB,CAAC;YAChE,SAAS,EAAE,IAAA,iBAAO,EAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAC/D,CAAC;QACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAa,EAAC,KAAK,EAAE;YAClD,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;YACpC,QAAQ,EAAE,gBAAgB;YAC1B,uEAAuE;YACvE,UAAU,EAAE,IAAA,kBAAQ,EAAC,0BAA0B,CAAC;SACjD,CAAC,CAAC;QAEH,gBAAM,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC/B,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QACvD,gBAAM,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;QAChC,gBAAM,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QAC7B,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAC3D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,yBAAa,EACnC,EAAE,EACF;YACE,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,UAAU;YAClB,IAAI;SACL,CACF,CAAC;QAEF,iEAAiE;QACjE,gDAAgD;QAC/C,IAAwB,CAAC,GAAG,GAAG,kBAAkB,CAAC;QAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACtC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,cAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAyB;YACnC,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,OAAO,CAAC;SAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAyB;YACnC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,OAAO,CAAC;SAC7C,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QACpE,gBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChB,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,iEAAiE;QACjE,iEAAiE;QACjE,4DAA4D;QAC5D,4DAA4D;QAC5D,MAAM,IAAI,GACR,qEAAqE,CAAC;QACxE,MAAM,IAAI,GACR,qEAAqE,CAAC;QACxE,MAAM,MAAM,GAAyB;YACnC,cAAc,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC;YAC9B,cAAc,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC;SAC/B,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,GAAG,MAAM;YACT,mCAAmC;YACnC,sBAAsB,EAAE,IAAA,kBAAQ,EAC9B,2DAA2D,CAC5D;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAChE,gBAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACf,gBAAM,CAAC,KAAK,CACV,GAAG,CAAC,MAAM,EACV,IAAI,EACJ,yDAAyD,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,gEAAgE;QAChE,gEAAgE;QAChE,6DAA6D;QAC7D,4DAA4D;QAC5D,2BAA2B;QAC3B,MAAM,MAAM,GAAyB;YACnC,YAAY,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,wBAAwB,CAAC;YACpE,YAAY,EAAE,IAAA,kBAAQ,EACpB,gEAAgE,CACjE;SACF,CAAC;QACF,MAAM,KAAK,GAAyB;YAClC,eAAe,EAAE,IAAA,iBAAO,EACtB,mBAAmB,EACnB,mDAAmD,CACpD;SACF,CAAC;QAEF,wDAAwD;QACxD,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,MAAM,EAAE,KAAK,EAAE;YAC1C,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QACtE,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACjB,gBAAM,CAAC,KAAK,CACV,KAAK,CAAC,MAAM,EACZ,IAAI,EACJ,iDAAiD,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CACtE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,MAAM,GAAyB;YACnC,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;SACzB,CAAC;QACF,qEAAqE;QACrE,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC;YACxB,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;SACP,CAAC;QAErC,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChE,gBAAM,CAAC,EAAE,CACP,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EACpE,mEAAmE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CACrG,CAAC;QACF,gEAAgE;QAChE,gBAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,IAAA,oBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAA,cAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,WAAW,CAAC,EAAE,EAChC,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACzD,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,gBAAM,CAAC,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxC,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC;YACE,QAAQ,EAAE,IAAA,iBAAO,EACf,mBAAmB,EACnB,2CAA2C,CAC5C;YACD,QAAQ,EAAE,IAAA,kBAAQ,EAChB,gEAAgE,CACjE;SACF,EACD,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,uEAAuE;QACvE,oEAAoE;QACpE,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC/B,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,IAAA,iBAAO,EACjB,mBAAmB,EACnB,iEAAiE,CAClE;SACF,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CACV,MAAM,CAAC,QAAQ,EACf,IAAI,EACJ,mEAAmE,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE,CAClG,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,gBAAM,CAAC,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QAC9B,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;QAChC,gBAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,WAAW,CAAC,EAAE,EAChC,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACzD,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAClB,CAAC;QAEF,gEAAgE;QAChE,iEAAiE;QACjE,kCAAkC;QAClC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,gBAAM,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,+DAA+D;QAC/D,2DAA2D;QAC3D,iEAAiE;QACjE,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC,EAAE,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,2BAA2B,CAAC,EAAE,EACpE,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,kEAAkE;QAClE,8DAA8D;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAA,kBAAQ,EAAC,mBAAmB,CAAC;SACpC,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,gBAAM,CAAC,EAAE,CACP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAC3C,yCAAyC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE,CACpE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,kBAAkB;QACnD,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC,EAAE,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,UAAU,CAAC,EAAE,EACnD,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAC5C,CAAC;QAEF,uEAAuE;QACvE,mEAAmE;QACnE,6BAA6B;QAC7B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEnB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,0BAA0B;SAC1C,CAAC,CAAC;QACH,gBAAM,CAAC,KAAK,CACV,MAAM,CAAC,QAAQ,EACf,KAAK,EACL,6EAA6E,CAC9E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC;YACjC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,kBAAkB,CAAC;SACxD,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,gCAAgC;QAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;QACzB,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,CAAqB,CAAC,GAAG,GAAG,kBAAkB,CAAC;QAClD,CAAC;QAED,iCAAiC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1B,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,OAAO,GAAG,IAAI,yBAAa,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CACZ,IAAI,EACJ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAC3D,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACpC,CAAC;QAEF,8CAA8C;QAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA2B,CAAC;QAChE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC;QAChC,MAAM,SAAS,GAAG,yBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjE,gBAAM,CAAC,MAAM,CACX,GAAG,EAAE,CACH,IAAI,2BAAe,CACjB,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,WAAW,CAAC,EAAE,EAChC,EAAE,OAAO,EAAE,SAAS,EAAE,CACvB,EACH,iBAAiB,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,uDAAuD;QACvD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,2BAAe,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QAEtC,8DAA8D;QAC9D,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,wBAAwB,CAAC,EAAE,CAAC;QAC7D,0EAA0E;QAC1E,oDAAoD;QACpD,MAAM,eAAe,GAAG,QAAoC,CAAC;QAC7D,gBAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,2BAAe,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EAC/D,kCAAkC,CACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,6DAA6D;QAC7D,6DAA6D;QAC7D,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAA,kBAAQ,EAAC,WAAW,CAAC;SAC7B,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,yBAAa,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,8CAA8C;QACrF,6DAA6D;QAC7D,kCAAkC;QAClC,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAEtE,yDAAyD;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE/B,8DAA8D;QAC9D,aAAa,CAAC,MAAM,CAClB,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAC7D,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CACpC,CAAC;QAEF,0DAA0D;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,gBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,+DAA+D;QAC/D,MAAM,WAAW,GAAyB;YACxC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,aAAa,CAAC;YAClD,MAAM,EAAE,IAAA,kBAAQ,EAAC,iBAAiB,CAAC;SACpC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,2BAAe,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAA8B,CAAC;QAEjE,mEAAmE;QACnE,sEAAsE;QACtE,6DAA6D;QAC7D,MAAM,WAAW,GAAyB;YACxC,MAAM,EAAE,IAAA,kBAAQ,EAAC,iBAAiB,CAAC;YACnC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,aAAa,CAAC;SACnD,CAAC;QACF,gBAAM,CAAC,YAAY,CACjB,GAAG,EAAE,CAAC,IAAI,2BAAe,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EACnD,yDAAyD,CAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,gEAAgE;QAChE,sEAAsE;QACtE,qDAAqD;QACrD,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC;YACjC,KAAK,EAAE,IAAA,kBAAQ,EAAC,YAAY,CAAC;SAC9B,CAAC,CAAC;QACH,sCAAsC;QACrC,MAAqD,CAAC,KAAK,GAAG;YAC7D,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAqB;SAC7D,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAA,kBAAQ,EAAC,MAAM,CAAC;SACvB,CAAC,CAAC;QACH,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,gBAAM,CAAC,EAAE,CACP,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAClD,uCAAuC,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC;YACjC,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,YAAY,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,aAAa;SAC7B,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,0BAA0B;QAC1B,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC,EAAE,EAC5B,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,mBAAmB;SAChC,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1D,gBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC,EAAE,KAAK,EAAE,IAAA,kBAAQ,EAAC,+CAA+C,CAAC,EAAE,EACpE,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC;YACb,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAA,iBAAO,EACX,mBAAmB,EACnB,uCAAuC,CACxC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC;YACb,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,kCAAkC;QAClC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC,EAAE,KAAK,EAAE,IAAA,iBAAO,EAAC,mBAAmB,EAAE,YAAY,CAAC,EAAE,EACrD,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;YAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,WAAW;YACvE;gBACE,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,IAAA,kBAAQ,EAAC,gBAAgB,CAAC;aACjC,EAAE,gBAAgB;SACpB,CAAC,CAAC;QAEH,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,sEAAsE;QACtE,uEAAuE;QACvE,mDAAmD;QACnD,MAAM,MAAM,GAAG,IAAI,2BAAe,CAChC;YACE,KAAK,EAAE,IAAA,kBAAQ,EAAC,kDAAkD,CAAC;YACnE,KAAK,EAAE,IAAA,iBAAO,EAAC,gBAAgB,EAAE,qCAAqC,CAAC;SACxE,EACD,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAC/B;YACE,+CAA+C;YAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE;YAC1D,6DAA6D;YAC7D;gBACE,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,mBAAmB;aAChC;SACF,EACD,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;QAEF,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,gBAAM,CAAC,KAAK,CACV,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EACnB,IAAI,EACJ,+DAA+D,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE,CAC9F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/spec.d.ts ADDED
@@ -0,0 +1,258 @@
1
+ /**
2
+ * vigiles v2 — Executable specification system.
3
+ *
4
+ * Specs are TypeScript files that compile to instruction files (CLAUDE.md, SKILL.md).
5
+ * The spec is the source of truth. The markdown is a build artifact.
6
+ *
7
+ * Two rule types:
8
+ * enforce() — delegated to an external linter (ESLint, Ruff, Clippy, etc.)
9
+ * guidance() — prose only, no mechanical enforcement
10
+ */
11
+ /** Linters vigiles can cross-reference. */
12
+ type BuiltinLinter = "eslint" | "stylelint" | "ruff" | "clippy" | "pylint" | "rubocop";
13
+ /** Scoped ESLint plugin prefix (e.g., @typescript-eslint). */
14
+ type ScopedPlugin = `@${string}/${string}`;
15
+ /** A linter/rule reference: "eslint/no-console", "ruff/T201", "@typescript-eslint/no-explicit-any". */
16
+ export type LinterRule = `${BuiltinLinter}/${string}` | ScopedPlugin;
17
+ /** Vigiles-proven rule reference: "vigiles/<assertion-id>". */
18
+ export type VigilesRef = `vigiles/${string}`;
19
+ /** Any enforcement reference. */
20
+ export type EnforcementRef = LinterRule | VigilesRef;
21
+ /**
22
+ * Populated by generate-types with per-linter rule unions.
23
+ * Keys are linter prefixes ("eslint", "@typescript-eslint", "ruff", etc.),
24
+ * values are unions of enabled rule names.
25
+ */
26
+ export interface KnownLinterRules {
27
+ }
28
+ /**
29
+ * Populated by generate-types with project file paths.
30
+ * Single key "files" maps to a union of relative paths.
31
+ */
32
+ export interface KnownProjectFiles {
33
+ }
34
+ /**
35
+ * Populated by generate-types with npm script names.
36
+ * Single key "scripts" maps to a union of script names.
37
+ */
38
+ export interface KnownNpmScripts {
39
+ }
40
+ /**
41
+ * When KnownLinterRules is populated, narrows to exact rule unions.
42
+ * Falls back to broad LinterRule when no generated types exist.
43
+ */
44
+ export type StrictLinterRule = [keyof KnownLinterRules] extends [never] ? LinterRule : {
45
+ [K in keyof KnownLinterRules]: `${K & string}/${KnownLinterRules[K] & string}`;
46
+ }[keyof KnownLinterRules];
47
+ /**
48
+ * When KnownProjectFiles is populated, narrows file() to known paths.
49
+ * Falls back to string when no generated types exist.
50
+ */
51
+ export type StrictFile = [keyof KnownProjectFiles] extends [never] ? string : KnownProjectFiles[keyof KnownProjectFiles] & string;
52
+ export type StrictCmd = [keyof KnownNpmScripts] extends [never] ? string : `npm run ${KnownNpmScripts[keyof KnownNpmScripts] & string}` | `npm ${KnownNpmScripts[keyof KnownNpmScripts] & string}` | (string & {});
53
+ export type ClaudeTool = "Read" | "Write" | "Edit" | "Bash" | "Grep" | "Glob" | "Agent" | "TodoWrite" | "WebSearch" | "WebFetch" | "NotebookEdit";
54
+ export type HookEvent = "PreToolUse" | "PostToolUse" | "PreSession" | "PostSession" | "Notification";
55
+ /** A rule delegated to an external tool (linter, ast-grep, dependency-cruiser, etc.). */
56
+ export interface EnforceRule {
57
+ readonly _kind: "enforce";
58
+ readonly linterRule: LinterRule;
59
+ readonly why: string;
60
+ /** Skip linter verification for this rule. Default: true (verify). */
61
+ readonly verify: boolean;
62
+ }
63
+ /** A guidance-only rule (prose, no enforcement). */
64
+ export interface GuidanceRule {
65
+ readonly _kind: "guidance";
66
+ readonly text: string;
67
+ }
68
+ export type Rule = EnforceRule | GuidanceRule;
69
+ /**
70
+ * Declare a rule enforced by an external tool.
71
+ *
72
+ * When generated types are present, the `linterRule` argument is narrowed
73
+ * to only accept rules that exist in your linter configs.
74
+ *
75
+ * enforce("eslint/no-console", "Use structured logger.")
76
+ * enforce("@typescript-eslint/no-floating-promises", "Always await.")
77
+ * enforce("ruff/T201", "Use logging module.")
78
+ */
79
+ export declare function enforce(linterRule: NoInfer<StrictLinterRule>, why: string, options?: {
80
+ verify?: boolean;
81
+ }): EnforceRule;
82
+ /**
83
+ * Declare a guidance-only rule.
84
+ *
85
+ * guidance("Google unfamiliar APIs before implementing.")
86
+ */
87
+ export declare function guidance(text: string): GuidanceRule;
88
+ /**
89
+ * Branded string types — these prove a reference has gone through
90
+ * vigiles's verification. The compiler only accepts branded refs,
91
+ * not raw strings, for path-sensitive positions.
92
+ */
93
+ declare const __brand: unique symbol;
94
+ export type VerifiedPath = string & {
95
+ readonly [__brand]: "VerifiedPath";
96
+ };
97
+ export type VerifiedCmd = string & {
98
+ readonly [__brand]: "VerifiedCmd";
99
+ };
100
+ export type VerifiedRef = string & {
101
+ readonly [__brand]: "VerifiedRef";
102
+ };
103
+ /** A typed file reference — verified at compile time. */
104
+ export interface FileRef {
105
+ readonly _ref: "file";
106
+ readonly path: VerifiedPath;
107
+ }
108
+ /** A typed command reference — verified at compile time. */
109
+ export interface CmdRef {
110
+ readonly _ref: "cmd";
111
+ readonly command: VerifiedCmd;
112
+ }
113
+ /** A typed cross-reference to another instruction file/skill. */
114
+ export interface SkillRef {
115
+ readonly _ref: "skill";
116
+ readonly path: VerifiedRef;
117
+ }
118
+ export type Ref = FileRef | CmdRef | SkillRef;
119
+ /**
120
+ * Reference a file path — verified to exist at compile time.
121
+ * When generated types are present, narrowed to known project files.
122
+ */
123
+ export declare function file(path: NoInfer<StrictFile>): FileRef;
124
+ /**
125
+ * Reference a command — verified against package.json at compile time.
126
+ * When generated types are present, narrowed to known npm scripts.
127
+ */
128
+ export declare function cmd(command: NoInfer<StrictCmd>): CmdRef;
129
+ /**
130
+ * Reference another skill or instruction file — verified to exist.
131
+ * Compiles to a markdown link: [skill name](path)
132
+ */
133
+ export declare function ref(path: string): SkillRef;
134
+ export type InstructionFragment = string | Ref;
135
+ /**
136
+ * Tagged template literal for skill instructions with typed references.
137
+ *
138
+ * instructions`
139
+ * Check ${file("eslint.config.ts")} for rules.
140
+ * Run ${cmd("npm test")} to verify.
141
+ * See ${ref("skills/other/SKILL.md")} for format.
142
+ * `
143
+ */
144
+ export declare function instructions(strings: TemplateStringsArray, ...values: InstructionFragment[]): InstructionFragment[];
145
+ /** Known markdown instruction file targets. */
146
+ export type InstructionTarget = "CLAUDE.md" | "AGENTS.md" | (string & {});
147
+ export interface ClaudeSpec {
148
+ readonly _specType: "claude";
149
+ /**
150
+ * Output filename(s). Defaults to "CLAUDE.md". Also used as the h1 heading.
151
+ * Pass an array to compile one spec to multiple targets (e.g., CLAUDE.md + AGENTS.md).
152
+ */
153
+ readonly target?: InstructionTarget | InstructionTarget[];
154
+ /** npm scripts / shell commands → descriptions. Verified against package.json. */
155
+ readonly commands?: Record<string, string>;
156
+ /** File paths → descriptions. Verified via existsSync. */
157
+ readonly keyFiles?: Record<string, string>;
158
+ /** Named prose sections — plain strings or tagged templates with file()/cmd()/ref(). */
159
+ readonly sections?: Record<string, string | InstructionFragment[]>;
160
+ /** Maximum lines per prose section (per-spec override). */
161
+ readonly maxSectionLines?: number;
162
+ /**
163
+ * Maximum estimated tokens for the compiled output (~4 chars per token).
164
+ * Compile fails if exceeded. Matches ETH Zurich 2511.12884 finding that
165
+ * files over ~300 lines / ~2000 tokens degrade agent task success.
166
+ */
167
+ readonly maxTokens?: number;
168
+ /** Rules: enforce(), check(), or guidance(). */
169
+ readonly rules: Record<string, Rule>;
170
+ }
171
+ /**
172
+ * Input type for claude() — maxSectionLines is only valid when sections are provided.
173
+ * TypeScript errors if you set maxSectionLines without defining sections.
174
+ */
175
+ type ClaudeSpecBase = {
176
+ readonly target?: InstructionTarget | InstructionTarget[];
177
+ readonly commands?: Record<string, string>;
178
+ readonly keyFiles?: Record<string, string>;
179
+ readonly maxTokens?: number;
180
+ readonly rules: Record<string, Rule>;
181
+ };
182
+ type ClaudeSpecSections = {
183
+ readonly sections: Record<string, string | InstructionFragment[]>;
184
+ readonly maxSectionLines?: number;
185
+ } | {
186
+ readonly sections?: undefined;
187
+ readonly maxSectionLines?: never;
188
+ };
189
+ type ClaudeSpecInput = ClaudeSpecBase & ClaudeSpecSections;
190
+ /**
191
+ * Define a CLAUDE.md specification.
192
+ *
193
+ * // CLAUDE.md.spec.ts
194
+ * export default claude({ commands: {...}, rules: {...} });
195
+ */
196
+ export declare function claude(spec: ClaudeSpecInput): ClaudeSpec;
197
+ export interface SkillSpec {
198
+ readonly _specType: "skill";
199
+ /** Skill name (used in frontmatter). */
200
+ readonly name: string;
201
+ /** Short description (used in frontmatter). */
202
+ readonly description: string;
203
+ /** Hint for the argument (used in frontmatter). */
204
+ readonly argumentHint?: string;
205
+ /** Whether to disable model invocation (frontmatter flag). */
206
+ readonly disableModelInvocation?: boolean;
207
+ /** Instruction body — string or tagged template with typed refs. */
208
+ readonly body: string | InstructionFragment[];
209
+ }
210
+ /**
211
+ * Define a SKILL.md specification.
212
+ *
213
+ * // skills/my-skill/SKILL.md.spec.ts
214
+ * export default skill({ name: "my-skill", description: "...", body: "..." });
215
+ */
216
+ export declare function skill(spec: Omit<SkillSpec, "_specType">): SkillSpec;
217
+ /** Derive the spec filename from an output filename. */
218
+ export type SpecPath<Output extends `${string}.md`> = `${Output}.spec.ts`;
219
+ /** Extract the output filename from a spec filename. */
220
+ export type OutputPath<Spec extends `${string}.md.spec.ts`> = Spec extends `${infer Base}.spec.ts` ? Base : never;
221
+ declare const __stage: unique symbol;
222
+ /** A spec that hasn't been validated yet. */
223
+ export type RawSpec<T extends ClaudeSpec | SkillSpec = ClaudeSpec> = T & {
224
+ readonly [__stage]: "raw";
225
+ };
226
+ /** A spec whose file/cmd/ref references have been validated. */
227
+ export type RefsValidated<T extends ClaudeSpec | SkillSpec = ClaudeSpec> = T & {
228
+ readonly [__stage]: "refs-validated";
229
+ };
230
+ /** A spec whose linter rules have been cross-referenced. */
231
+ export type LintersVerified<T extends ClaudeSpec | SkillSpec = ClaudeSpec> = T & {
232
+ readonly [__stage]: "linters-verified";
233
+ };
234
+ /** A fully validated spec, ready for markdown emission. */
235
+ export type ReadyToEmit<T extends ClaudeSpec | SkillSpec = ClaudeSpec> = T & {
236
+ readonly [__stage]: "ready";
237
+ };
238
+ /** Per-linter verification mode. */
239
+ export type LinterMode = boolean | "catalog-only";
240
+ export interface VigilesV2Config {
241
+ /** Glob pattern to discover spec files. Default: "**\/*.spec.ts" */
242
+ readonly specs?: string;
243
+ /** Auto-discover linter rules for coverage reporting. */
244
+ readonly discover?: boolean;
245
+ /** Maximum rules per spec file. */
246
+ readonly maxRules?: number;
247
+ /** Maximum estimated tokens for compiled output. ~4 chars per token. */
248
+ readonly maxTokens?: number;
249
+ /** Maximum lines per prose section. Forces splitting into named sections. */
250
+ readonly maxSectionLines?: number;
251
+ /** Global kill switch: skip ALL linter verification during compile. */
252
+ readonly verifyLinters?: boolean;
253
+ /** Per-linter verification mode: true (full), "catalog-only", or false (skip). */
254
+ readonly linters?: Record<string, LinterMode>;
255
+ }
256
+ export declare function defineConfig(config: VigilesV2Config): VigilesV2Config;
257
+ export {};
258
+ //# sourceMappingURL=spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
package/dist/spec.js ADDED
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ /**
3
+ * vigiles v2 — Executable specification system.
4
+ *
5
+ * Specs are TypeScript files that compile to instruction files (CLAUDE.md, SKILL.md).
6
+ * The spec is the source of truth. The markdown is a build artifact.
7
+ *
8
+ * Two rule types:
9
+ * enforce() — delegated to an external linter (ESLint, Ruff, Clippy, etc.)
10
+ * guidance() — prose only, no mechanical enforcement
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.enforce = enforce;
14
+ exports.guidance = guidance;
15
+ exports.file = file;
16
+ exports.cmd = cmd;
17
+ exports.ref = ref;
18
+ exports.instructions = instructions;
19
+ exports.claude = claude;
20
+ exports.skill = skill;
21
+ exports.defineConfig = defineConfig;
22
+ // ---------------------------------------------------------------------------
23
+ // Builder functions
24
+ // ---------------------------------------------------------------------------
25
+ /**
26
+ * Declare a rule enforced by an external tool.
27
+ *
28
+ * When generated types are present, the `linterRule` argument is narrowed
29
+ * to only accept rules that exist in your linter configs.
30
+ *
31
+ * enforce("eslint/no-console", "Use structured logger.")
32
+ * enforce("@typescript-eslint/no-floating-promises", "Always await.")
33
+ * enforce("ruff/T201", "Use logging module.")
34
+ */
35
+ function enforce(linterRule, why, options) {
36
+ return {
37
+ _kind: "enforce",
38
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
39
+ linterRule: linterRule,
40
+ why,
41
+ verify: options?.verify ?? true,
42
+ };
43
+ }
44
+ /**
45
+ * Declare a guidance-only rule.
46
+ *
47
+ * guidance("Google unfamiliar APIs before implementing.")
48
+ */
49
+ function guidance(text) {
50
+ return { _kind: "guidance", text };
51
+ }
52
+ /**
53
+ * Reference a file path — verified to exist at compile time.
54
+ * When generated types are present, narrowed to known project files.
55
+ */
56
+ function file(path) {
57
+ return { _ref: "file", path: path };
58
+ }
59
+ /**
60
+ * Reference a command — verified against package.json at compile time.
61
+ * When generated types are present, narrowed to known npm scripts.
62
+ */
63
+ function cmd(command) {
64
+ return { _ref: "cmd", command: command };
65
+ }
66
+ /**
67
+ * Reference another skill or instruction file — verified to exist.
68
+ * Compiles to a markdown link: [skill name](path)
69
+ */
70
+ function ref(path) {
71
+ return { _ref: "skill", path: path };
72
+ }
73
+ /**
74
+ * Tagged template literal for skill instructions with typed references.
75
+ *
76
+ * instructions`
77
+ * Check ${file("eslint.config.ts")} for rules.
78
+ * Run ${cmd("npm test")} to verify.
79
+ * See ${ref("skills/other/SKILL.md")} for format.
80
+ * `
81
+ */
82
+ function instructions(strings, ...values) {
83
+ const result = [];
84
+ for (let i = 0; i < strings.length; i++) {
85
+ if (strings[i])
86
+ result.push(strings[i]);
87
+ if (i < values.length)
88
+ result.push(values[i]);
89
+ }
90
+ return result;
91
+ }
92
+ /**
93
+ * Define a CLAUDE.md specification.
94
+ *
95
+ * // CLAUDE.md.spec.ts
96
+ * export default claude({ commands: {...}, rules: {...} });
97
+ */
98
+ function claude(spec) {
99
+ return { _specType: "claude", ...spec };
100
+ }
101
+ /**
102
+ * Define a SKILL.md specification.
103
+ *
104
+ * // skills/my-skill/SKILL.md.spec.ts
105
+ * export default skill({ name: "my-skill", description: "...", body: "..." });
106
+ */
107
+ function skill(spec) {
108
+ return { _specType: "skill", ...spec };
109
+ }
110
+ function defineConfig(config) {
111
+ return config;
112
+ }
113
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAoJH,0BAYC;AAOD,4BAEC;AAwCD,oBAEC;AAMD,kBAEC;AAMD,kBAEC;AAiBD,oCAUC;AA6DD,wBAEC;AA0BD,sBAEC;AAsED,oCAEC;AA3RD,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,SAAgB,OAAO,CACrB,UAAqC,EACrC,GAAW,EACX,OAA8B;IAE9B,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,4EAA4E;QAC5E,UAAU,EAAE,UAAwB;QACpC,GAAG;QACH,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC;AAoCD;;;GAGG;AACH,SAAgB,IAAI,CAAC,IAAyB;IAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAoB,EAAE,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,GAAG,CAAC,OAA2B;IAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAsB,EAAE,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,SAAgB,GAAG,CAAC,IAAY;IAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAmB,EAAE,CAAC;AACtD,CAAC;AAQD;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,OAA6B,EAC7B,GAAG,MAA6B;IAEhC,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAuDD;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,IAAqB;IAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAgB,CAAC;AACxD,CAAC;AAoBD;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,IAAkC;IACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;AACzC,CAAC;AAsED,SAAgB,YAAY,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=spec.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.test.d.ts","sourceRoot":"","sources":["../src/spec.test.ts"],"names":[],"mappings":""}