@ui-doc/html-renderer 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +251 -0
  3. package/dist/HtmlCurlyBraceLexer.d.ts +25 -0
  4. package/dist/HtmlRenderer.d.ts +21 -0
  5. package/dist/InlineReader.d.ts +18 -0
  6. package/dist/NodeParser.d.ts +12 -0
  7. package/dist/TemplateLoader.d.ts +9 -0
  8. package/dist/assets/app.d.ts +1 -0
  9. package/dist/assets/src/base.d.ts +1 -0
  10. package/dist/assets/src/example.d.ts +1 -0
  11. package/dist/assets/src/sidebar.d.ts +1 -0
  12. package/dist/assets/ui-doc.cjs +81 -0
  13. package/dist/assets/ui-doc.cjs.map +1 -0
  14. package/dist/assets/ui-doc.css +359 -0
  15. package/dist/assets/ui-doc.css.map +1 -0
  16. package/dist/assets/ui-doc.js.map +1 -0
  17. package/dist/assets/ui-doc.min.css +1 -0
  18. package/dist/assets/ui-doc.min.js +1 -0
  19. package/dist/assets/ui-doc.mjs +79 -0
  20. package/dist/assets/ui-doc.mjs.map +1 -0
  21. package/dist/errors/HtmlRendererError.d.ts +3 -0
  22. package/dist/errors/HtmlRendererSyntaxError.d.ts +13 -0
  23. package/dist/errors/ParserError.d.ts +3 -0
  24. package/dist/errors/TagNodeError.d.ts +3 -0
  25. package/dist/errors/index.d.ts +4 -0
  26. package/dist/index.cjs +981 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/index.d.ts +9 -0
  29. package/dist/index.mjs +958 -0
  30. package/dist/index.mjs.map +1 -0
  31. package/dist/nodes/CommentNode.d.ts +6 -0
  32. package/dist/nodes/Node.d.ts +14 -0
  33. package/dist/nodes/TagNode.d.ts +4 -0
  34. package/dist/nodes/TemplateNode.d.ts +6 -0
  35. package/dist/nodes/index.d.ts +10 -0
  36. package/dist/nodes/tags/debug.d.ts +11 -0
  37. package/dist/nodes/tags/for.d.ts +13 -0
  38. package/dist/nodes/tags/if.d.ts +18 -0
  39. package/dist/nodes/tags/index.d.ts +3 -0
  40. package/dist/nodes/tags/page.d.ts +13 -0
  41. package/dist/nodes/tags/partial.d.ts +13 -0
  42. package/dist/nodes/tags/var.d.ts +13 -0
  43. package/dist/types/base.d.ts +1 -0
  44. package/dist/types/index.d.ts +6 -0
  45. package/dist/types/lexer.d.ts +23 -0
  46. package/dist/types/parser.d.ts +25 -0
  47. package/dist/types/reader.d.ts +35 -0
  48. package/dist/types/renderer.d.ts +14 -0
  49. package/dist/types/token.d.ts +40 -0
  50. package/dist/utils/index.d.ts +2 -0
  51. package/package.json +71 -0
  52. package/scripts/app.ts +8 -0
  53. package/scripts/src/base.ts +7 -0
  54. package/scripts/src/example.ts +31 -0
  55. package/scripts/src/sidebar.ts +46 -0
  56. package/styles/01_resets/initial.css +18 -0
  57. package/styles/01_resets/root.css +36 -0
  58. package/styles/01_resets/typography.css +67 -0
  59. package/styles/02_objects/background.css +7 -0
  60. package/styles/02_objects/control.css +25 -0
  61. package/styles/02_objects/margin.css +44 -0
  62. package/styles/02_objects/padding.css +44 -0
  63. package/styles/02_objects/text.css +3 -0
  64. package/styles/02_objects/width.css +16 -0
  65. package/styles/03_components/example-markup.css +31 -0
  66. package/styles/03_components/nav/list.css +42 -0
  67. package/styles/03_components/nav/main.css +39 -0
  68. package/styles/03_components/text-flow.css +5 -0
  69. package/styles/04_layouts/page.css +68 -0
  70. package/styles/index.css +17 -0
  71. package/templates/layouts/default.html +24 -0
  72. package/templates/layouts/example.html +29 -0
  73. package/templates/pages/default.html +14 -0
  74. package/templates/pages/index.html +3 -0
  75. package/templates/partials/code.html +5 -0
  76. package/templates/partials/content.html +7 -0
  77. package/templates/partials/example.html +5 -0
  78. package/templates/partials/nav-main.html +9 -0
  79. package/templates/partials/nav-sidebar.html +18 -0
  80. package/templates/partials/section-inner.html +5 -0
  81. package/templates/partials/section.html +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/errors/HtmlRendererError.ts","../src/errors/HtmlRendererSyntaxError.ts","../src/errors/ParserError.ts","../src/errors/TagNodeError.ts","../src/HtmlCurlyBraceLexer.ts","../src/InlineReader.ts","../src/HtmlRenderer.ts","../src/nodes/Node.ts","../src/nodes/CommentNode.ts","../src/utils/index.ts","../src/nodes/TagNode.ts","../src/nodes/tags/debug.ts","../src/nodes/tags/for.ts","../src/nodes/tags/if.ts","../src/nodes/tags/page.ts","../src/nodes/tags/partial.ts","../src/nodes/tags/var.ts","../src/nodes/tags/index.ts","../src/nodes/TemplateNode.ts","../src/NodeParser.ts","../src/TemplateLoader.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["tagParsers"],"mappings":"AAAM,MAAO,iBAAkB,SAAQ,KAAK,CAAA;AAC1C,IAAA,WAAA,CAAY,OAAe,EAAA;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;KAChC;AACF;;ACLK,MAAO,uBAAwB,SAAQ,WAAW,CAAA;IAStD,WAAY,CAAA,EACV,OAAO,EACP,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,GAOP,EAAA;QACC,KAAK,CAAC,OAAO,CAAC,CAAA;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;AACrC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,CAA4B,yBAAA,EAAA,OAAO,CAAY,SAAA,EAAA,IAAI,CAAC,MAAM,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,MAAM,CAAW,QAAA,EAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA,CAAE,CAAA;KAChJ;AACF;;AC9BK,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC,IAAA,WAAA,CAAY,OAAe,EAAA;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;KAC1B;AACF;;ACLK,MAAO,YAAa,SAAQ,KAAK,CAAA;AACrC,IAAA,WAAA,CAAY,OAAe,EAAA;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;KACjC;AACF;;ACWD,MAAM,gBAAgB,GAAwC;AAC5D,IAAA,UAAU,EAAE,mEAAmE;AAC/E,IAAA,gBAAgB,EAAE,sDAAsD;CACzE,CAAA;MAEY,mBAAmB,CAAA;AAS9B,IAAA,WAAA,CAAmB,MAAc,EAAA;QANvB,IAAa,CAAA,aAAA,GAA0B,EAAE,CAAA;QAEzC,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA;QAEpB,IAAa,CAAA,aAAA,GAAG,KAAK,CAAA;AAG7B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;KACrB;IAEM,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;KAC3B;IAEM,IAAI,CAAgC,IAAO,CAAM,EAAA;AACtD,QAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAEzB,OAAO,CAAC,KAAK,CAAC;AACZ,cAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAoB;cACpD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA;KACvD;IAEM,OAAO,CAAgC,IAAO,CAAM,EAAA;AACzD,QAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAEzB,OAAO,CAAC,KAAK,CAAC;AACZ,cAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAoB;cACrD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAoB,CAAA;KACxD;IAES,iBAAiB,CAAC,IAAqB,CAAC,EAAA;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;SACjD;KACF;IAES,gBAAgB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;AACvB,YAAA,OAAO,SAAS,CAAA;SACjB;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1B;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAE/B,QAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AAChD,YAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;SAC7B;AAED,QAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AAClD,YAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;SAC7B;AAED,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;KAC9B;IAES,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAEtB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAE1B,OAAO;AACL,YAAA,IAAI,EAAE,UAAU;SACjB,CAAA;KACF;IAES,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAEtB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAE1B,OAAO;AACL,YAAA,IAAI,EAAE,WAAW;SAClB,CAAA;KACF;IAES,mBAAmB,GAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QAErB,OAAO;AACL,YAAA,IAAI,EAAE,eAAe;SACtB,CAAA;KACF;IAES,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AACjC,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACtB,MAAK;aACN;AAED,YAAA,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SACjC;QAED,OAAO;AACL,YAAA,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;AACvB,YAAA,IAAI,EAAE,SAAS;SAChB,CAAA;KACF;IAES,eAAe,GAAA;QACvB,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAE/B,YAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBAChD,MAAK;aACN;AAED,YAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;gBAClD,MAAK;aACN;AAED,YAAA,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SACjC;QAED,OAAO;YACL,OAAO;AACP,YAAA,IAAI,EAAE,UAAU;SACjB,CAAA;KACF;IAES,WAAW,GAAA;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAE/B,QAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACnE,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;AAErB,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1B;AAED,QAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AAChD,YAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;SAC9B;AAED,QAAA,IAAI,IAAI,KAAK,GAAG,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;SAC5B;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;AAEzB,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;SAChD;AAED,QAAA,IAAI,IAAI,KAAK,GAAG,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;SAClC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;SAC5B;QAED,IACE,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;AACZ,YAAA,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG,EACZ;AACA,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;SAC5B;AAED,QAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AAClD,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;SACjC;AAED,QAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;AACnD,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;SAClC;AAED,QAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;AAChE,YAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;SAC9B;AAED,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAA;KAChC;IAES,aAAa,GAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QAErB,OAAO;AACL,YAAA,IAAI,EAAE,SAAS;SAChB,CAAA;KACF;IAES,aAAa,GAAA;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QAEnC,IAAI,KAAK,GAAG,EAAE,CAAA;QAEd,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;AAElC,YAAA,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,MAAK;aACN;YAED,KAAK,IAAI,IAAI,CAAA;SACd;QAED,OAAO;AACL,YAAA,IAAI,EAAE,QAAQ;YACd,KAAK;SACN,CAAA;KACF;IAES,aAAa,GAAA;QACrB,IAAI,KAAK,GAAG,EAAE,CAAA;QAEd,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAE/B,IACE,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;AACZ,gBAAA,IAAI,KAAK,GAAG;gBACZ,IAAI,KAAK,GAAG,EACZ;AACA,gBAAA,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;aAC/B;iBAAM;gBACL,MAAK;aACN;SACF;QAED,OAAO;AACL,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;SACzB,CAAA;KACF;AAES,IAAA,cAAc,CAAC,KAAc,EAAA;AACrC,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAElC,OAAO;AACL,YAAA,IAAI,EAAE,SAAS;YACf,KAAK;SACN,CAAA;KACF;IAES,eAAe,GAAA;QACvB,IAAI,QAAQ,GAAG,EAAE,CAAA;QAEjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAE/B,YAAA,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;AAChE,gBAAA,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;aAClC;iBAAM;gBACL,MAAK;aACN;SACF;QAED,OAAO;YACL,QAAQ;AACR,YAAA,IAAI,EAAE,UAAU;SACjB,CAAA;KACF;IAES,iBAAiB,CAAC,OAA4B,YAAY,EAAA;AAClE,QAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,IAAI,GAAG,EAAE,CAAA;QAEb,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAE/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACzB,MAAK;aACN;AAED,YAAA,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;SAC9B;QAED,OAAO;YACL,IAAI;YACJ,IAAI;SACL,CAAA;KACF;AACF;;MChUY,YAAY,CAAA;AAWvB,IAAA,WAAA,CAAmB,KAAa,EAAE,MAAM,GAAG,QAAQ,EAAA;QANzC,IAAW,CAAA,WAAA,GAAG,CAAC,CAAA;QAEf,IAAU,CAAA,UAAA,GAAG,CAAC,CAAA;QAEd,IAAc,CAAA,cAAA,GAAG,EAAE,CAAA;AAG3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;KACrB;IAEM,IAAI,CAAC,IAAqB,CAAC,EAAA;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAC9B;IAEM,OAAO,CAAC,IAAqB,CAAC,EAAA;AACnC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAErC,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAEhC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YACpC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;SACjD;aAAM;AACL,YAAA,IAAI,CAAC,UAAU,IAAI,CAAC,CAAA;AACpB,YAAA,IAAI,CAAC,cAAc,IAAI,MAAM,CAAA;SAC9B;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEhC,QAAA,OAAO,MAAM,CAAA;KACd;IAEM,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;KAC/B;IAEM,KAAK,GAAA;AACV,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAEvC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;KACF;AACF;;AC/CD,SAAS,gBAAgB,CAAC,MAAW,EAAA;AACnC,IAAA,QACE,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU;AACjC,QAAA,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;AACpC,QAAA,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU;AAClC,QAAA,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EACnC;AACH,CAAC;MAEY,YAAY,CAAA;AASvB,IAAA,WAAA,CAAmB,MAAc,EAAA;QANvB,IAAO,CAAA,OAAA,GAAyB,EAAE,CAAA;QAElC,IAAQ,CAAA,QAAA,GAAyB,EAAE,CAAA;QAEnC,IAAK,CAAA,KAAA,GAAyB,EAAE,CAAA;AAGxC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;KACrB;IAEM,SAAS,CAAC,IAAY,EAAE,MAAmB,EAAA;AAChD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAEvC,QAAA,OAAO,IAAI,CAAA;KACZ;IAEM,UAAU,CAAC,IAAY,EAAE,OAAoB,EAAA;AAClD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAEzC,QAAA,OAAO,IAAI,CAAA;KACZ;IAEM,OAAO,CAAC,IAAY,EAAE,IAAiB,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAEnC,QAAA,OAAO,IAAI,CAAA;KACZ;AAES,IAAA,KAAK,CAAC,KAAkB,EAAA;QAChC,MAAM,MAAM,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;AAE/F,QAAA,IAAI;YACF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;SACjC;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,WAAW,EAAE;AAChC,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;gBAE5B,MAAM,IAAI,uBAAuB,CAAC;oBAChC,IAAI,EAAE,KAAK,CAAC,OAAO;oBACnB,MAAM,EAAE,KAAK,CAAC,GAAG;oBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;AACrB,iBAAA,CAAC,CAAA;aACH;AAED,YAAA,MAAM,KAAK,CAAA;SACZ;KACF;IAEM,QAAQ,CAAC,OAAwB,EAAE,MAAe,EAAA;QACvD,MAAM,GAAG,MAAM,KAAN,IAAA,IAAA,MAAM,cAAN,MAAM,GAAI,SAAS,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;QAEjD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,IAAI,iBAAiB,CACzB,WAAW,MAAM,CAAA,yDAAA,CAA2D,CAC7E,CAAA;SACF;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;KAC3D;IAEM,IAAI,CAAC,IAAY,EAAE,OAAsB,EAAA;AAC9C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,CAAA;QAEnE,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,IAAI,iBAAiB,CACzB,SAAS,IAAI,CAAA,uDAAA,CAAyD,CACvE,CAAA;SACF;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;KACrC;IAEM,OAAO,CAAC,IAAY,EAAE,OAAuB,EAAA;AAClD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,SAAS,CAAA;QAEzE,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,IAAI,iBAAiB,CACzB,YAAY,IAAI,CAAA,0DAAA,CAA4D,CAC7E,CAAA;SACF;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,OAAO,GAAI,EAAE,CAAC,CAAA;KAC3C;IAES,MAAM,CAAC,QAAc,EAAE,OAAsB,EAAA;QACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;KACtC;AAES,IAAA,eAAe,CAAC,OAAwB,EAAA;QAChD,MAAM,aAAa,GAAG,OAAwB,CAAA;AAE9C,QAAA,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;aAClC,MAAM,CAAC,CAAC,KAAY,KAAK,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;aAChD,GAAG,CACF,CAAC,KAAY,KACX,CAAA,YAAA,EAAe,KAAK,CAAC,GAAG,qBAAqB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CACnF;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;AAEb,QAAA,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM;aACnC,MAAM,CAAC,CAAC,KAAY,KAAK,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;aACjD,GAAG,CACF,CAAC,KAAY,KAAK,CAAA,aAAA,EAAgB,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAC5F;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;AAEb,QAAA,OAAO,aAAa,CAAA;KACrB;IAES,cAAc,CAAC,QAAgC,EAAE,EAAA;AACzD,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,GAAG,CAAK,EAAA,EAAA,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG,EAAE,EAAE,CAAC,CAAA;KAC1F;AACF;;MCpIY,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAU;MAKzE,IAAI,CAAA;AAKf,IAAA,WAAA,CAAmB,IAAO,EAAA;QAFhB,IAAU,CAAA,UAAA,GAAW,EAAE,CAAA;AAG/B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;KACjB;AAEM,IAAA,MAAM,CAAC,IAAU,EAAA;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAA;KACvB;IAEM,MAAM,CAAC,OAAsB,EAAE,QAAkB,EAAA;QACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;KAChD;IAES,gBAAgB,CAAC,OAAsB,EAAE,QAAkB,EAAA;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAC5E;AACF;;AC9BK,MAAO,WAAY,SAAQ,IAAI,CAAA;AAGnC,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,SAAS,CAAC,CAAA;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;KACvB;IAEM,MAAM,GAAA;AACX,QAAA,OAAO,CAAQ,KAAA,EAAA,IAAI,CAAC,OAAO,MAAM,CAAA;KAClC;AACF;;ACbe,SAAA,eAAe,CAAC,IAAY,EAAE,MAAW,EAAA;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE/B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3C,QAAA,OAAO,SAAS,CAAA;KACjB;AAED,IAAA,IAAI,IAAI,KAAK,EAAE,EAAE;AACf,QAAA,OAAO,MAAM,CAAA;KACd;AAED,IAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;KACpB;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;AAE1C,IAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;AACxB,QAAA,OAAO,SAAS,CAAA;KACjB;IAED,OAAO,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;AACvD,CAAC;AAEK,SAAU,UAAU,CAAC,MAAc,EAAA;AACvC,IAAA,OAAO,MAAM;AACV,SAAA,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;AACxB,SAAA,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;AACvB,SAAA,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;AACvB,SAAA,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;AACzB,SAAA,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC9B;;ACrBM,MAAgB,OAA6C,SAAQ,IAAO,CAAA;AAAG;;ACF/E,MAAO,YAAa,SAAQ,OAAO,CAAA;IAGvC,WAAmB,CAAA,EAAE,UAAU,EAAuB,EAAA;QACpD,KAAK,CAAC,WAAW,CAAC,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,MAAM,CAAA;KACvC;AAEM,IAAA,MAAM,CAAC,OAAsB,EAAA;QAClC,MAAM,YAAY,GAChB,IAAI,CAAC,UAAU,KAAK,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;QAClF,MAAM,YAAY,GAAG,YAAY;cAC7B,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AACvC,cAAE,CAAwB,qBAAA,EAAA,IAAI,CAAC,UAAU,YAAY,CAAA;QAEvD,OAAO,CAAA,KAAA,EAAQ,YAAY,CAAA,MAAA,CAAQ,CAAA;KACpC;AACF,CAAA;AAEM,MAAM,iBAAiB,GAAiB;AAC7C,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,OAAO;IACnB,KAAK,GAAA;QACH,MAAM,OAAO,GAAiC,EAAE,CAAA;QAChD,IAAI,YAAY,GAAG,KAAK,CAAA;QAExB,OAAO;AACL,YAAA,QAAQ,CAAC,KAAiB,EAAA;gBACxB,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;AAClC,wBAAA,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;qBAC7C;oBAED,YAAY,GAAG,IAAI,CAAA;oBACnB,OAAM;iBACP;AAED,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,oBAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC/B,OAAM;iBACP;AAED,gBAAA,MAAM,IAAI,YAAY,CAAC,yBAAyB,CAAC,CAAA;aAClD;YACD,MAAM,GAAA;AACJ,gBAAA,OAAO,IAAI,YAAY,CAAC,OAA8B,CAAC,CAAA;aACxD;SACF,CAAA;KACF;CACF;;AClDK,MAAO,UAAW,SAAQ,OAAO,CAAA;IAGrC,WAAmB,CAAA,EAAE,UAAU,EAAqB,EAAA;QAClD,KAAK,CAAC,SAAS,CAAC,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,MAAM,CAAA;KACvC;IAEM,MAAM,CAAC,OAAsB,EAAE,QAAkB,EAAA;QACtD,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAElF,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;SACvD;AAED,QAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;SACxD;AAED,QAAA,OAAO,EAAE,CAAA;KACV;AAES,IAAA,WAAW,CAAC,OAAc,EAAE,aAA4B,EAAE,QAAkB,EAAA;AACpF,QAAA,OAAO,OAAO;AACX,aAAA,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;YACnB,OAAO,IAAI,CAAC,gBAAgB,CAC1B;AACE,gBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,EAAE;gBACxC,WAAW,EAAE,IAAI,CAAC,UAAU;AAC5B,gBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;AAC7B,gBAAA,OAAO,EAAE,aAAa;aACvB,EACD,QAAQ,CACT,CAAA;AACH,SAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;KACZ;AAES,IAAA,YAAY,CACpB,OAA4B,EAC5B,aAA4B,EAC5B,QAAkB,EAAA;AAElB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACxB,aAAA,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAI;YAClB,OAAO,IAAI,CAAC,gBAAgB,CAC1B;AACE,gBAAA,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;gBACxD,WAAW,EAAE,IAAI,CAAC,UAAU;AAC5B,gBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;AAC1C,gBAAA,OAAO,EAAE,aAAa;aACvB,EACD,QAAQ,CACT,CAAA;AACH,SAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;KACZ;AACF,CAAA;AAEM,MAAM,eAAe,GAAiB;AAC3C,IAAA,OAAO,EAAE,qCAAqC;AAC9C,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,UAAU,EAAE,KAAK;IACjB,KAAK,GAAA;QACH,MAAM,OAAO,GAA+B,EAAE,CAAA;QAC9C,IAAI,YAAY,GAAG,KAAK,CAAA;QAExB,OAAO;AACL,YAAA,QAAQ,CAAC,KAAiB,EAAA;gBACxB,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;AAClC,wBAAA,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;qBAC7C;oBAED,YAAY,GAAG,IAAI,CAAA;oBACnB,OAAM;iBACP;AAED,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,oBAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC/B,OAAM;iBACP;AAED,gBAAA,MAAM,IAAI,YAAY,CAAC,0BAA0B,CAAC,CAAA;aACnD;YACD,MAAM,GAAA;AACJ,gBAAA,OAAO,IAAI,UAAU,CAAC,OAA4B,CAAC,CAAA;aACpD;SACF,CAAA;KACF;CACF;;ACtFK,MAAO,SAAU,SAAQ,OAAO,CAAA;AAGpC,IAAA,WAAA,CAAmB,OAAyB,EAAA;QAC1C,KAAK,CAAC,QAAQ,CAAC,CAAA;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;KACvB;IAEM,MAAM,CAAC,OAAsB,EAAE,QAAkB,EAAA;AACtD,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;AAEnE,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC,OAAO,CAClB,KAAK,EACL,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,kBAAkB,CAAC,EACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtB,CAAA;SACF;AAED,QAAA,OAAO,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAA;KAC7D;AAES,IAAA,QAAQ,CAChB,OAAsB,EACtB,QAAsC,EACtC,UAAkD,EAAA;AAElD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS;cACzC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAE,EAAE,OAAO,CAAC;AACrD,cAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;KAC3B;AAES,IAAA,OAAO,CAAC,KAAU,EAAE,YAAiB,EAAE,QAAsB,EAAA;QACrE,QAAQ,QAAQ;AACd,YAAA,KAAK,IAAI;;gBAEP,OAAO,KAAK,IAAI,YAAY,CAAA;AAC9B,YAAA,KAAK,IAAI;;gBAEP,OAAO,KAAK,IAAI,YAAY,CAAA;AAC9B,YAAA,KAAK,KAAK;gBACR,OAAO,KAAK,KAAK,YAAY,CAAA;AAC/B,YAAA,KAAK,KAAK;gBACR,OAAO,KAAK,KAAK,YAAY,CAAA;AAC/B,YAAA,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,YAAY,CAAA;AAC7B,YAAA,KAAK,IAAI;gBACP,OAAO,KAAK,IAAI,YAAY,CAAA;AAC9B,YAAA,KAAK,GAAG;gBACN,OAAO,KAAK,GAAG,YAAY,CAAA;AAC7B,YAAA,KAAK,IAAI;gBACP,OAAO,KAAK,IAAI,YAAY,CAAA;AAC9B,YAAA;AACE,gBAAA,OAAO,KAAK,CAAA;SACf;KACF;AACF,CAAA;AAEM,MAAM,cAAc,GAAiB;AAC1C,IAAA,OAAO,EACL,yGAAyG;AAC3G,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,UAAU,EAAE,IAAI;IAChB,KAAK,GAAA;QACH,MAAM,OAAO,GAA8B,EAAE,CAAA;QAC7C,MAAM,mBAAmB,GAAG,CAC1B,KAAiB,EACjB,OAA+C,EAC/C,SAAuC,KACrC;AACF,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBAC7B,OAAM;aACP;AAED,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AAClF,gBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA;gBAChC,OAAM;aACP;AAED,YAAA,MAAM,IAAI,YAAY,CAAC,8BAA8B,CAAC,CAAA;AACxD,SAAC,CAAA;QACD,IAAI,YAAY,GAAG,KAAK,CAAA;QAExB,OAAO;AACL,YAAA,QAAQ,CAAC,KAAiB,EAAA;gBACxB,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;AAClC,wBAAA,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;qBAC7C;oBAED,YAAY,GAAG,IAAI,CAAA;oBACnB,OAAM;iBACP;AAED,gBAAA,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;AAC7E,oBAAA,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAA;oBAC3D,OAAM;iBACP;AAED,gBAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;AAClC,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AAC7B,wBAAA,MAAM,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAAA;qBAC5C;oBAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAwB,CAAC,EAAE;wBAC3D,MAAM,IAAI,YAAY,CAAC,CAAA,iBAAA,EAAoB,KAAK,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAA;qBAC7D;AAED,oBAAA,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAwB,CAAA;oBACjD,OAAM;iBACP;AAED,gBAAA,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;AAC/E,oBAAA,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAA;oBAC7D,OAAM;iBACP;AAED,gBAAA,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAA;aAC3C;YACD,MAAM,GAAA;AACJ,gBAAA,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;AAC7E,oBAAA,MAAM,IAAI,YAAY,CAAC,qCAAqC,CAAC,CAAA;iBAC9D;AAED,gBAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE;AAC3E,oBAAA,MAAM,IAAI,YAAY,CAAC,gDAAgD,CAAC,CAAA;iBACzE;AAED,gBAAA,IACE,OAAO,CAAC,QAAQ,KAAK,SAAS;oBAC9B,OAAO,CAAC,gBAAgB,KAAK,SAAS;AACtC,oBAAA,OAAO,CAAC,WAAW,KAAK,SAAS,EACjC;AACA,oBAAA,MAAM,IAAI,YAAY,CAAC,6DAA6D,CAAC,CAAA;iBACtF;AAED,gBAAA,OAAO,IAAI,SAAS,CAAC,OAA2B,CAAC,CAAA;aAClD;SACF,CAAA;KACF;CACF;;ACjJK,MAAO,WAAY,SAAQ,OAAO,CAAA;AAKtC,IAAA,WAAA,CAAmB,EAAE,IAAI,EAAE,UAAU,EAAsB,EAAA;QACzD,KAAK,CAAC,UAAU,CAAC,CAAA;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,IAAI,GAAI,SAAS,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,MAAM,CAAA;KACvC;IAEM,MAAM,CAAC,OAAsB,EAAE,QAAkB,EAAA;AACtD,QAAA,IAAI,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAA;QAChC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAElF,QAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC1B,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAEpD,YAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE;gBAC9C,QAAQ,GAAG,SAAS,CAAA;aACrB;SACF;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;KAC3C;AACF,CAAA;AAEM,MAAM,gBAAgB,GAAiB;AAC5C,IAAA,OAAO,EAAE,qCAAqC;AAC9C,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,MAAM;IAClB,KAAK,GAAA;QACH,MAAM,OAAO,GAAgC,EAAE,CAAA;QAC/C,IAAI,YAAY,GAAG,KAAK,CAAA;QAExB,OAAO;AACL,YAAA,QAAQ,CAAC,KAAiB,EAAA;gBACxB,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;AAClC,wBAAA,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;qBAC7C;oBAED,YAAY,GAAG,IAAI,CAAA;oBACnB,OAAM;iBACP;AAED,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,oBAAA,MAAM,IAAI,YAAY,CAAC,yBAAyB,CAAC,CAAA;iBAClD;gBAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE;AACtC,oBAAA,MAAM,IAAI,YAAY,CAAC,wCAAwC,CAAC,CAAA;iBACjE;AAED,gBAAA,IAAI,OAAO,CAAC,IAAI,EAAE;AAChB,oBAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;iBAChC;qBAAM;AACL,oBAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;iBAC1B;aACF;YACD,MAAM,GAAA;AACJ,gBAAA,OAAO,IAAI,WAAW,CAAC,OAA6B,CAAC,CAAA;aACtD;SACF,CAAA;KACF;CACF;;AClEK,MAAO,cAAe,SAAQ,OAAO,CAAA;AAKzC,IAAA,WAAA,CAAmB,EAAE,IAAI,EAAE,UAAU,EAAyB,EAAA;QAC5D,KAAK,CAAC,aAAa,CAAC,CAAA;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,MAAM,CAAA;KACvC;IAEM,MAAM,CAAC,OAAsB,EAAE,QAAkB,EAAA;QACtD,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,KAAK,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAElF,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;KAC/C;AACF,CAAA;AAEM,MAAM,mBAAmB,GAAiB;AAC/C,IAAA,OAAO,EAAE,yCAAyC;AAClD,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,SAAS;IACrB,KAAK,GAAA;QACH,MAAM,OAAO,GAAmC,EAAE,CAAA;QAClD,IAAI,YAAY,GAAG,KAAK,CAAA;QAExB,OAAO;AACL,YAAA,QAAQ,CAAC,KAAiB,EAAA;gBACxB,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;AAClC,wBAAA,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;qBAC7C;oBAED,YAAY,GAAG,IAAI,CAAA;oBACnB,OAAM;iBACP;AACD,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,oBAAA,MAAM,IAAI,YAAY,CAAC,yBAAyB,CAAC,CAAA;iBAClD;gBAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE;AACtC,oBAAA,MAAM,IAAI,YAAY,CAAC,wCAAwC,CAAC,CAAA;iBACjE;AAED,gBAAA,IAAI,OAAO,CAAC,IAAI,EAAE;AAChB,oBAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;iBAChC;qBAAM;AACL,oBAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;iBAC1B;aACF;YACD,MAAM,GAAA;AACJ,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACjB,oBAAA,MAAM,IAAI,YAAY,CAAC,uBAAuB,CAAC,CAAA;iBAChD;AAED,gBAAA,OAAO,IAAI,cAAc,CAAC,OAAgC,CAAC,CAAA;aAC5D;SACF,CAAA;KACF;CACF;;AC5DK,MAAO,UAAW,SAAQ,OAAO,CAAA;AAKrC,IAAA,WAAA,CAAmB,EAAE,UAAU,EAAE,MAAM,EAAqB,EAAA;QAC1D,KAAK,CAAC,SAAS,CAAC,CAAA;AAChB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;AAC5B,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;KACvB;AAEM,IAAA,MAAM,CAAC,OAAsB,EAAA;AAClC,QAAA,IAAI,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;AAE3D,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;SACtB;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;KAC/C;AACF,CAAA;AAEM,MAAM,eAAe,GAAiB;AAC3C,IAAA,OAAO,EAAE,+BAA+B;AACxC,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,UAAU,EAAE,KAAK;IACjB,KAAK,GAAA;QACH,MAAM,OAAO,GAA+B,EAAE,CAAA;QAC9C,IAAI,YAAY,GAAG,KAAK,CAAA;QAExB,OAAO;AACL,YAAA,QAAQ,CAAC,KAAiB,EAAA;gBACxB,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;AAClC,wBAAA,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAA;qBAC7C;oBAED,YAAY,GAAG,IAAI,CAAA;oBACnB,OAAM;iBACP;AAED,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,oBAAA,MAAM,IAAI,YAAY,CAAC,yBAAyB,CAAC,CAAA;iBAClD;AAED,gBAAA,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;AACpE,oBAAA,MAAM,IAAI,YAAY,CAAC,uDAAuD,CAAC,CAAA;iBAChF;AAED,gBAAA,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;AACpC,oBAAA,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC/B,OAAM;iBACP;AAED,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,oBAAA,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAAA;iBAC1C;AAED,gBAAA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAA;aACtB;YACD,MAAM,GAAA;AACJ,gBAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AACvB,oBAAA,MAAM,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAAA;iBAC/C;AAED,gBAAA,OAAO,IAAI,UAAU,CAAC,OAA4B,CAAC,CAAA;aACpD;SACF,CAAA;KACF;CACF;;ACvED,MAAM,QAAQ,GAAmB;IAC/B,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;CAChB;;ACbK,MAAO,YAAa,SAAQ,IAAgB,CAAA;AAGhD,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,UAAU,CAAC,CAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;KACvB;IAEM,MAAM,GAAA;QACX,OAAO,IAAI,CAAC,OAAO,CAAA;KACpB;AACF;;MCJY,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;QACY,IAAI,CAAA,IAAA,GAAiC,EAAE,CAAA;KAwGlD;AAtGQ,IAAA,OAAO,IAAI,GAAA;AAChB,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAE/B,QAAAA,QAAU,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;;;AAKxD,QAAA,OAAO,MAAM,CAAA;KACd;AAEM,IAAA,iBAAiB,CAAC,GAAiB,EAAA;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAA;AAE/B,QAAA,OAAO,IAAI,CAAA;KACZ;AAEM,IAAA,KAAK,CAAC,MAAc,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAA;AAC7C,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;QAE7B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;KACvC;IAES,aAAa,CAAC,KAA0B,EAAE,MAAY,EAAA;;AAC9D,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;QAE3B,OAAO,KAAK,EAAE;AACZ,YAAA,QAAQ,KAAK,CAAC,IAAI;AAChB,gBAAA,KAAK,UAAU;oBACb,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC9C,MAAK;AACP,gBAAA,KAAK,SAAS;oBACZ,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC7C,MAAK;AACP,gBAAA,KAAK,UAAU;oBACb,IAAI,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,IAAI,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAK,SAAS,EAAE;AACpC,wBAAA,OAAO,MAAM,CAAA;qBACd;oBACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;oBACnC,MAAK;AACP,gBAAA;oBACE,MAAM,IAAI,WAAW,CAAC,CAAA,uBAAA,EAA0B,KAAK,CAAC,IAAI,CAAG,CAAA,CAAA,CAAC,CAAA;aACjE;AACD,YAAA,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;SACxB;AAED,QAAA,OAAO,MAAM,CAAA;KACd;AAES,IAAA,QAAQ,CAAC,KAA0B,EAAA;;AAC3C,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;QAErC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,KAAK,gBAAgB,EAAE;AAC7D,YAAA,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;SACjD;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAEnD,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,WAAW,CAAC,CAAA,aAAA,EAAgB,aAAa,CAAC,IAAI,CAAG,CAAA,CAAA,CAAC,CAAA;SAC7D;QAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,CAAA;AAClD,QAAA,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;AAC/B,QAAA,IAAI,IAAa,CAAA;AAEjB,QAAA,IAAI;YACF,OAAO,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE;gBAClD,QAAQ,CAAC,SAAS,CAAC,CAAA;AACnB,gBAAA,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;aAC5B;YACD,IAAI,GAAG,MAAM,EAAE,CAAA;SAChB;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,YAAY,EAAE;AACjC,gBAAA,MAAM,IAAI,WAAW,CACnB,CAAqB,kBAAA,EAAA,aAAa,CAAC,IAAI,CAAA,GAAA,EAAM,KAAK,CAAC,OAAO,CAA+B,4BAAA,EAAA,aAAa,CAAC,OAAO,CAAA,CAAE,CACjH,CAAA;aACF;AAED,YAAA,MAAM,KAAK,CAAA;SACZ;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAA;SACZ;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAEpC,QAAA,IACE,CAAC,WAAW;YACZ,CAAA,CAAA,EAAA,GAAA,WAAW,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAK,SAAS;YAClC,CAAA,CAAA,EAAA,GAAA,WAAW,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAK,gBAAgB;YACzC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;YAC1C,CAAA,CAAA,EAAA,GAAA,WAAW,CAAC,CAAC,CAAC,0CAAE,IAAI,MAAK,WAAW,EACpC;AACA,YAAA,MAAM,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAA;SAC9C;AAED,QAAA,OAAO,IAAI,CAAA;KACZ;AACF;;MC9GY,cAAc,CAAA;AAClB,IAAA,aAAa,IAAI,CAAC,EACvB,QAAQ,EACR,UAAU,EACV,gBAAgB,GAAG,iCAAiC,GAKrD,EAAA;AACC,QAAA,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AACjF,QAAA,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAA,EAAG,YAAY,CAAA,eAAA,CAAiB,CAAC,CAAC,CAAA;AACpF,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAA,EAAG,YAAY,CAAA,aAAA,CAAe,CAAC,CAAC,CAAA;AAChF,QAAA,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAA,EAAG,YAAY,CAAA,gBAAA,CAAkB,CAAC,CAAC,CAAA;AAEtF,QAAA,MAAM,IAAI,GAAG,CAAC,IAAY,KAAa,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,OAAO,IAAY,KACjC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;QAE1C,MAAM,OAAO,CAAC,GAAG,CAAC;AAChB,YAAA,YAAY,CAAC,MAAM,CAAC,OAAM,IAAI,KAAG;gBAC/B,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAChF,aAAC,CAAC;AACF,YAAA,UAAU,CAAC,MAAM,CAAC,OAAM,IAAI,KAAG;gBAC7B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9E,aAAC,CAAC;AACF,YAAA,aAAa,CAAC,MAAM,CAAC,OAAM,IAAI,KAAG;gBAChC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AACjF,aAAC,CAAC;AACH,SAAA,CAAC,CAAA;KACH;AACF;;;;"}
@@ -0,0 +1,6 @@
1
+ import { Node } from './Node';
2
+ export declare class CommentNode extends Node {
3
+ readonly content: string;
4
+ constructor(content: string);
5
+ render(): string;
6
+ }
@@ -0,0 +1,14 @@
1
+ import type { RenderContext, Renderer } from '../types';
2
+ import type { TagNodeType } from './TagNode';
3
+ export declare const nodeOperators: readonly ["==", "!=", "===", "!==", "<", "<=", ">", ">="];
4
+ export type NodeOperator = (typeof nodeOperators)[number];
5
+ export type NodeType = 'root' | 'template' | 'comment' | TagNodeType;
6
+ export declare class Node<T extends NodeType = NodeType> {
7
+ readonly type: T;
8
+ protected childNodes: Node[];
9
+ constructor(type: T);
10
+ append(node: Node): void;
11
+ get children(): Node[];
12
+ render(context: RenderContext, renderer: Renderer): string;
13
+ protected renderChildNodes(context: RenderContext, renderer: Renderer): string;
14
+ }
@@ -0,0 +1,4 @@
1
+ import { Node } from './Node';
2
+ export type TagNodeType = 'tag' | 'tag-debug' | 'tag-var' | 'tag-for' | 'tag-if' | 'tag-page' | 'tag-partial';
3
+ export declare abstract class TagNode<T extends TagNodeType = TagNodeType> extends Node<T> {
4
+ }
@@ -0,0 +1,6 @@
1
+ import { Node } from './Node';
2
+ export declare class TemplateNode extends Node<'template'> {
3
+ readonly content: string;
4
+ constructor(content: string);
5
+ render(): string;
6
+ }
@@ -0,0 +1,10 @@
1
+ export { CommentNode } from './CommentNode';
2
+ export { Node, NodeOperator, nodeOperators, NodeType } from './Node';
3
+ export { TagNode, TagNodeType } from './TagNode';
4
+ export { TagDebugNode } from './tags/debug';
5
+ export { TagForNode } from './tags/for';
6
+ export { TagIfNode } from './tags/if';
7
+ export { TagPageNode } from './tags/page';
8
+ export { TagPartialNode } from './tags/partial';
9
+ export { TagVarNode } from './tags/var';
10
+ export { TemplateNode } from './TemplateNode';
@@ -0,0 +1,11 @@
1
+ import type { RenderContext, TagNodeParse } from '../../types';
2
+ import { TagNode } from '../TagNode';
3
+ export interface TagDebugNodeOptions {
4
+ contextKey?: 'this' | string;
5
+ }
6
+ export declare class TagDebugNode extends TagNode {
7
+ readonly contextKey: string;
8
+ constructor({ contextKey }: TagDebugNodeOptions);
9
+ render(context: RenderContext): string;
10
+ }
11
+ export declare const parseTagDebugNode: TagNodeParse;
@@ -0,0 +1,13 @@
1
+ import type { RenderContext, Renderer, TagNodeParse } from '../../types';
2
+ import { TagNode } from '../TagNode';
3
+ export interface TagForNodeOptions {
4
+ contextKey?: 'this' | string;
5
+ }
6
+ export declare class TagForNode extends TagNode {
7
+ readonly contextKey: string;
8
+ constructor({ contextKey }: TagForNodeOptions);
9
+ render(context: RenderContext, renderer: Renderer): string;
10
+ protected renderArray(context: any[], parentContext: RenderContext, renderer: Renderer): string;
11
+ protected renderObject(context: Record<string, any>, parentContext: RenderContext, renderer: Renderer): string;
12
+ }
13
+ export declare const parseTagForNode: TagNodeParse;
@@ -0,0 +1,18 @@
1
+ import type { RenderContext, Renderer, TagNodeParse } from '../../types';
2
+ import { type NodeOperator } from '../Node';
3
+ import { TagNode } from '../TagNode';
4
+ export interface TagIfNodeOptions {
5
+ operator?: NodeOperator;
6
+ firstValue?: string | number | boolean;
7
+ firstContextKey?: string;
8
+ secondValue?: string | number | boolean;
9
+ secondContextKey?: string;
10
+ }
11
+ export declare class TagIfNode extends TagNode {
12
+ readonly options: TagIfNodeOptions;
13
+ constructor(options: TagIfNodeOptions);
14
+ render(context: RenderContext, renderer: Renderer): string;
15
+ protected getValue(context: RenderContext, valueKey: 'firstValue' | 'secondValue', contextKey: 'firstContextKey' | 'secondContextKey'): any;
16
+ protected compare(value: any, compareValue: any, operator: NodeOperator): boolean;
17
+ }
18
+ export declare const parseTagIfNode: TagNodeParse;
@@ -0,0 +1,3 @@
1
+ import type { TagNodeParse } from '../../types';
2
+ declare const tagNodes: TagNodeParse[];
3
+ export default tagNodes;
@@ -0,0 +1,13 @@
1
+ import type { RenderContext, Renderer, TagNodeParse } from '../../types';
2
+ import { TagNode } from '../TagNode';
3
+ export interface TagPageNodeOptions {
4
+ name?: 'default' | string;
5
+ contextKey?: 'this' | string;
6
+ }
7
+ export declare class TagPageNode extends TagNode {
8
+ readonly name: string;
9
+ readonly contextKey: string;
10
+ constructor({ name, contextKey }: TagPageNodeOptions);
11
+ render(context: RenderContext, renderer: Renderer): string;
12
+ }
13
+ export declare const parseTagPageNode: TagNodeParse;
@@ -0,0 +1,13 @@
1
+ import type { RenderContext, Renderer, TagNodeParse } from '../../types';
2
+ import { TagNode } from '../TagNode';
3
+ export interface TagPartialNodeOptions {
4
+ name: string;
5
+ contextKey?: 'this' | string;
6
+ }
7
+ export declare class TagPartialNode extends TagNode {
8
+ readonly name: string;
9
+ readonly contextKey: string;
10
+ constructor({ name, contextKey }: TagPartialNodeOptions);
11
+ render(context: RenderContext, renderer: Renderer): string;
12
+ }
13
+ export declare const parseTagPartialNode: TagNodeParse;
@@ -0,0 +1,13 @@
1
+ import type { RenderContext, TagNodeParse } from '../../types';
2
+ import { TagNode } from '../TagNode';
3
+ export interface TagVarNodeOptions {
4
+ contextKey: 'this' | string;
5
+ escape?: boolean;
6
+ }
7
+ export declare class TagVarNode extends TagNode {
8
+ readonly contextKey: string;
9
+ readonly escape: boolean;
10
+ constructor({ contextKey, escape }: TagVarNodeOptions);
11
+ render(context: RenderContext): string;
12
+ }
13
+ export declare const parseTagVarNode: TagNodeParse;
@@ -0,0 +1 @@
1
+ export type PositiveInteger<T extends number = number> = `${T}` extends '0' | `-${any}` | `${any}.${any}` ? never : T;
@@ -0,0 +1,6 @@
1
+ export * from './base';
2
+ export * from './lexer';
3
+ export * from './parser';
4
+ export * from './reader';
5
+ export * from './renderer';
6
+ export * from './token';
@@ -0,0 +1,23 @@
1
+ import type { PositiveInteger, Reader, TokenReturn } from './index';
2
+ export interface Lexer {
3
+ /**
4
+ * Get the next token /next k-th token.
5
+ * This is used to look ahead the tokens without consuming/removing them from the input stream.
6
+ * Calling the peek() method more than once will return the same token.
7
+ * @param {PositiveInteger} k
8
+ * @returns {Token | undefined} next token or undefined if there are no more tokens.
9
+ */
10
+ peek<T extends PositiveInteger = 1>(k?: T): TokenReturn<T>;
11
+ /**
12
+ * Get the next token /next k-th token, and remove it from the token stream.
13
+ * This means, calling the consume() method multiple times will return a new token at each invocation.
14
+ * @param {PositiveInteger} k
15
+ * @returns {Token | undefined} next token or undefined if there are no more tokens.
16
+ */
17
+ consume<T extends PositiveInteger = 1>(k?: T): TokenReturn<T>;
18
+ /**
19
+ * Get the debug information about the current state of the lexer.
20
+ * @returns {object} debug information
21
+ */
22
+ debug(): ReturnType<Reader['debug']>;
23
+ }
@@ -0,0 +1,25 @@
1
+ import type { Node, TagNode } from '../nodes';
2
+ import type { Reader } from './reader';
3
+ import type { Token } from './token';
4
+ export interface TagNodeParse {
5
+ identifier: string;
6
+ example: string;
7
+ hasContent: boolean;
8
+ parse(): {
9
+ addToken(token: Token): void;
10
+ create(): TagNode;
11
+ };
12
+ }
13
+ export interface Parser {
14
+ /**
15
+ * Parse the input stream and return the AST.
16
+ * @param {Reader} reader
17
+ * @returns {Node} AST
18
+ */
19
+ parse(reader: Reader): Node;
20
+ /**
21
+ * Register a tag parser.
22
+ * @param {TagNodeParse} tag
23
+ */
24
+ registerTagParser(tag: TagNodeParse): this;
25
+ }
@@ -0,0 +1,35 @@
1
+ import type { PositiveInteger } from './base';
2
+ export interface Reader {
3
+ /**
4
+ * Get the next character / next k-th character from the input.
5
+ * This is used to look ahead the characters without consuming/removing them from the input stream.
6
+ * Calling the peek() method more than once will return the same character.
7
+ *
8
+ * @param {PositiveInteger} k number
9
+ * @returns {string} next character
10
+ */
11
+ peak(k?: PositiveInteger): string;
12
+ /**
13
+ * Get the next character /next k-th token from the input, and remove it from the input.
14
+ * This means, calling the consume() method multiple times will return a new character at each invocation.
15
+ *
16
+ * @param {PositiveInteger} k
17
+ * @returns {string} next character
18
+ */
19
+ consume(k?: PositiveInteger): string;
20
+ /**
21
+ * Check if the input stream is empty.
22
+ * @returns {boolean} true if the input stream is empty, false otherwise.
23
+ */
24
+ isEof(): boolean;
25
+ /**
26
+ * Get the debug information about the current state of the reader.
27
+ * @returns {object} debug information
28
+ */
29
+ debug(): {
30
+ source: string;
31
+ line: PositiveInteger;
32
+ pos: PositiveInteger;
33
+ content: string;
34
+ };
35
+ }
@@ -0,0 +1,14 @@
1
+ import { Renderer as CoreRenderer } from '@ui-doc/core';
2
+ import type { Reader } from './reader';
3
+ export type RenderContext = Record<string, any>;
4
+ export type SourceInput = {
5
+ source: string;
6
+ content: string;
7
+ } | Reader;
8
+ export interface Renderer extends CoreRenderer {
9
+ addLayout(name: string, layout: SourceInput): this;
10
+ addPartial(name: string, partial: SourceInput): this;
11
+ addPage(name: string, page: SourceInput): this;
12
+ page(name: string, context: RenderContext): string;
13
+ partial(name: string, context?: RenderContext): string;
14
+ }
@@ -0,0 +1,40 @@
1
+ import type { PositiveInteger } from './base';
2
+ export type TokenTypeIdentifier = 'tag-identifier' | 'identifier';
3
+ export type TokenTagType = 'tag-open' | 'tag-close' | 'tag-end' | 'tag-separator';
4
+ export type TokenType = 'comment' | 'template' | 'operator' | 'number' | 'string' | 'boolean' | TokenTypeIdentifier | TokenTagType;
5
+ export interface Token {
6
+ type: TokenType;
7
+ }
8
+ export interface TokenComment extends Token {
9
+ type: 'comment';
10
+ content: string;
11
+ }
12
+ export interface TokenTemplate extends Token {
13
+ type: 'template';
14
+ content: string;
15
+ }
16
+ export interface TokenString extends Token {
17
+ type: 'string';
18
+ value: string;
19
+ }
20
+ export interface TokenNumber extends Token {
21
+ type: 'number';
22
+ value: number;
23
+ }
24
+ export interface TokenBoolean extends Token {
25
+ type: 'boolean';
26
+ value: boolean;
27
+ }
28
+ export interface TokenIdentifier extends Token {
29
+ type: TokenTypeIdentifier;
30
+ name: string;
31
+ }
32
+ export interface TokenOperator extends Token {
33
+ type: 'operator';
34
+ operator: string;
35
+ }
36
+ export interface TokenTag extends Token {
37
+ type: TokenTagType;
38
+ }
39
+ export type TokenValue<T extends TokenType = TokenType> = T extends 'comment' ? TokenComment : T extends 'template' ? TokenTemplate : T extends 'string' ? TokenString : T extends 'number' ? TokenNumber : T extends 'boolean' ? TokenBoolean : T extends TokenTypeIdentifier ? TokenIdentifier : T extends 'operator' ? TokenOperator : T extends TokenTagType ? TokenTag : never;
40
+ export type TokenReturn<T = PositiveInteger> = T extends 1 ? TokenValue | undefined : (TokenValue | undefined)[];
@@ -0,0 +1,2 @@
1
+ export declare function readNestedValue(name: string, target: any): any;
2
+ export declare function escapeHtml(unsafe: string): string;
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@ui-doc/html-renderer",
3
+ "description": "HTML renderer for UI-Doc.",
4
+ "version": "0.1.1",
5
+ "license": "MIT",
6
+ "keywords": [
7
+ "ui-doc",
8
+ "styleguide",
9
+ "ui-kit",
10
+ "documentation",
11
+ "generation",
12
+ "renderer",
13
+ "html"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/gherrink/ui-doc",
18
+ "directory": "packages/html-renderer"
19
+ },
20
+ "author": "Maurice Busch",
21
+ "homepage": "https://github.com/gherrink/ui-doc/tree/master/packages/html-renderer#readme",
22
+ "bugs": "https://github.com/gherrink/ui-doc/issues",
23
+ "main": "./dist/index.cjs",
24
+ "module": "./dist/index.mjs",
25
+ "types": "./dist/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "import": "./dist/index.mjs",
30
+ "default": "./dist/index.cjs"
31
+ },
32
+ "./ui-doc.css": "./dist/assets/ui-doc.css",
33
+ "./ui-doc.min.css": "./dist/assets/ui-doc.min.css",
34
+ "./ui-doc.js": {
35
+ "types": "./dist/assets/ui-doc.d.ts",
36
+ "import": "./dist/assets/ui-doc.mjs",
37
+ "script": "./dist/assets/ui-doc.min.js",
38
+ "default": "./dist/assets/ui-doc.cjs"
39
+ },
40
+ "./ui-doc.min.js": "./dist/assets/ui-doc.min.js"
41
+ },
42
+ "engines": {
43
+ "node": ">=16.0.0"
44
+ },
45
+ "files": [
46
+ "dist",
47
+ "LICENSE.md",
48
+ "scripts",
49
+ "styles",
50
+ "templates",
51
+ "README.md"
52
+ ],
53
+ "publishConfig": {
54
+ "access": "public"
55
+ },
56
+ "sideEffects": false,
57
+ "peerDependencies": {
58
+ "@ui-doc/core": "^0.1.0"
59
+ },
60
+ "optionalDependencies": {
61
+ "@highlightjs/cdn-assets": "^11.9.0"
62
+ },
63
+ "scripts": {
64
+ "build": "rollup -c",
65
+ "prebuild": "rm -rf dist dist",
66
+ "prerelease": "pnpm build",
67
+ "release": "pnpm --workspace-root package:release $(pwd)",
68
+ "release:dry": "pnpm --workspace-root package:release-dry $(pwd)",
69
+ "test": "jest"
70
+ }
71
+ }
package/scripts/app.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { ready } from './src/base'
2
+ import { initExample } from './src/example'
3
+ import { initSidebar } from './src/sidebar'
4
+
5
+ ready(() => {
6
+ initExample()
7
+ initSidebar()
8
+ })
@@ -0,0 +1,7 @@
1
+ export function ready(callback: () => void) {
2
+ if (document.readyState !== 'loading') {
3
+ callback()
4
+ } else {
5
+ document.addEventListener('DOMContentLoaded', callback)
6
+ }
7
+ }
@@ -0,0 +1,31 @@
1
+ export function initExample() {
2
+ document.querySelectorAll<HTMLIFrameElement>('[data-example] > iframe').forEach(iframe => {
3
+ const document = iframe.contentDocument ?? iframe.contentWindow?.document
4
+
5
+ if (!document) {
6
+ return
7
+ }
8
+
9
+ const action = () => {
10
+ const changeHeight = () => {
11
+ iframe.style.height = `${document.body.scrollHeight}px`
12
+ }
13
+
14
+ changeHeight()
15
+
16
+ const observer = new MutationObserver(changeHeight)
17
+
18
+ observer.observe(document.body, {
19
+ attributes: true,
20
+ childList: true,
21
+ subtree: true,
22
+ })
23
+ }
24
+
25
+ if (document.readyState === 'complete') {
26
+ action()
27
+ } else {
28
+ iframe.addEventListener('load', action)
29
+ }
30
+ })
31
+ }
@@ -0,0 +1,46 @@
1
+ function createSidebar(sidebar: HTMLElement) {
2
+ const links: Record<string, HTMLLinkElement> = {}
3
+ const observer = new IntersectionObserver(
4
+ entries => {
5
+ const activeEntries = entries.filter(entry => entry.isIntersecting)
6
+
7
+ if (activeEntries.length <= 0) {
8
+ return
9
+ }
10
+
11
+ Object.keys(links).forEach(id => {
12
+ links[id].classList.remove('active')
13
+ })
14
+
15
+ const activeLink = links[activeEntries[0].target.id]
16
+
17
+ activeLink.classList.add('active')
18
+ if (activeLink?.parentElement?.parentElement?.parentElement instanceof HTMLLIElement) {
19
+ activeLink.parentElement.parentElement.parentElement
20
+ .querySelector('a')
21
+ ?.classList.add('active')
22
+ }
23
+ },
24
+ {
25
+ root: null,
26
+ rootMargin: '0px 0px -90% 0px',
27
+ threshold: 0.5,
28
+ },
29
+ )
30
+
31
+ sidebar.querySelectorAll<HTMLLinkElement>('a[href^="#"]').forEach(link => {
32
+ const id = link.href.split('#')[1]
33
+ const target = document.getElementById(id)
34
+
35
+ if (target) {
36
+ observer.observe(target)
37
+ links[id] = link
38
+ }
39
+ })
40
+ }
41
+
42
+ export function initSidebar() {
43
+ document.querySelectorAll('[data-sidebar]').forEach(sidebar => {
44
+ createSidebar(sidebar as HTMLElement)
45
+ })
46
+ }
@@ -0,0 +1,18 @@
1
+ * {
2
+ box-sizing: border-box;
3
+ margin: 0;
4
+ }
5
+
6
+ *::after,
7
+ *::before {
8
+ box-sizing: inherit;
9
+ }
10
+
11
+ ::selection {
12
+ color: rgb(var(--selection-color));
13
+ background-color: rgb(var(--selection-bg-color));
14
+ }
15
+
16
+ body {
17
+ background-color: rgb(var(--bg-color));
18
+ }
@@ -0,0 +1,36 @@
1
+ :root {
2
+ --font-weight-normal: 400;
3
+ --font-weight-bold: 700;
4
+ --font-size-sm: 0.85em;
5
+ --font-size-normal: 1em;
6
+ --font-size-md: 1.2em;
7
+ --font-size-lg: 1.7em;
8
+ --font-size-base: 16px;
9
+ --font-color: 3 3 3;
10
+ --font-family: system-ui, "Segoe UI", roboto, helvetica, arial, sans-serif, "Apple Color Emoji",
11
+ "Segoe UI Emoji", "Segoe UI Symbol";
12
+ --font-weight: var(--font-weight-normal);
13
+ --font-size: var(--font-size-normal);
14
+ --font-line-height: 1.4;
15
+ --headline-weight: var(--font-weight-bold);
16
+ --bg-color: 255 255 255;
17
+ --accent-color: 3 3 200;
18
+ --border-color: 5 5 5;
19
+ --selection-color: var(--bg-color);
20
+ --selection-bg-color: var(--font-color);
21
+ --size-base-unit: 1rem;
22
+ --size-xs: calc(0.5 * var(--size-base-unit));
23
+ --size-sm: calc(0.8 * var(--size-base-unit));
24
+ --size-normal: var(--size-base-unit);
25
+ --size-md: calc(1.2 * var(--size-base-unit));
26
+ --size-lg: calc(1.6 * var(--size-base-unit));
27
+ --size-xl: calc(2.4 * var(--size-base-unit));
28
+ --nav-main-menu-item-px: var(--size-sm);
29
+ --nav-main-menu-item-py: var(--size-xs);
30
+ --nav-main-menu-item-font-size: var(--font-size-md);
31
+ --nav-main-height: calc(
32
+ var(--nav-main-menu-item-py) * 2 + var(--nav-main-menu-item-font-size) * var(--font-line-height)
33
+ );
34
+
35
+ color-scheme: light;
36
+ }