@commentray/render 0.0.5 → 0.0.8

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 (59) hide show
  1. package/dist/browse-page-slug.d.ts +6 -0
  2. package/dist/browse-page-slug.d.ts.map +1 -0
  3. package/dist/browse-page-slug.js +9 -0
  4. package/dist/browse-page-slug.js.map +1 -0
  5. package/dist/build-commentray-nav-search.d.ts +11 -5
  6. package/dist/build-commentray-nav-search.d.ts.map +1 -1
  7. package/dist/build-commentray-nav-search.js +11 -11
  8. package/dist/build-commentray-nav-search.js.map +1 -1
  9. package/dist/code-browser-block-rays.d.ts +48 -0
  10. package/dist/code-browser-block-rays.d.ts.map +1 -0
  11. package/dist/code-browser-block-rays.js +95 -0
  12. package/dist/code-browser-block-rays.js.map +1 -0
  13. package/dist/code-browser-client.bundle.js +12 -12
  14. package/dist/code-browser-client.js +1106 -145
  15. package/dist/code-browser-client.js.map +1 -1
  16. package/dist/code-browser-color-theme.d.ts +15 -0
  17. package/dist/code-browser-color-theme.d.ts.map +1 -0
  18. package/dist/code-browser-color-theme.js +73 -0
  19. package/dist/code-browser-color-theme.js.map +1 -0
  20. package/dist/code-browser-pair-nav.d.ts +31 -0
  21. package/dist/code-browser-pair-nav.d.ts.map +1 -0
  22. package/dist/code-browser-pair-nav.js +77 -0
  23. package/dist/code-browser-pair-nav.js.map +1 -0
  24. package/dist/code-browser-scroll-sync.js +1 -1
  25. package/dist/code-browser-scroll-sync.js.map +1 -1
  26. package/dist/code-browser-search.d.ts +45 -0
  27. package/dist/code-browser-search.d.ts.map +1 -1
  28. package/dist/code-browser-search.js +89 -0
  29. package/dist/code-browser-search.js.map +1 -1
  30. package/dist/code-browser.d.ts +24 -3
  31. package/dist/code-browser.d.ts.map +1 -1
  32. package/dist/code-browser.js +1202 -288
  33. package/dist/code-browser.js.map +1 -1
  34. package/dist/hljs-stylesheet-themes.d.ts +13 -0
  35. package/dist/hljs-stylesheet-themes.d.ts.map +1 -0
  36. package/dist/hljs-stylesheet-themes.js +19 -0
  37. package/dist/hljs-stylesheet-themes.js.map +1 -0
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/inline-favicon.d.ts +2 -0
  43. package/dist/inline-favicon.d.ts.map +1 -0
  44. package/dist/inline-favicon.js +25 -0
  45. package/dist/inline-favicon.js.map +1 -0
  46. package/dist/markdown-pipeline.d.ts.map +1 -1
  47. package/dist/markdown-pipeline.js +38 -2
  48. package/dist/markdown-pipeline.js.map +1 -1
  49. package/dist/mermaid-runtime-html.d.ts.map +1 -1
  50. package/dist/mermaid-runtime-html.js +13 -3
  51. package/dist/mermaid-runtime-html.js.map +1 -1
  52. package/dist/package-version.d.ts.map +1 -1
  53. package/dist/package-version.js +4 -4
  54. package/dist/package-version.js.map +1 -1
  55. package/dist/side-by-side-layout.css +58 -0
  56. package/dist/side-by-side.d.ts.map +1 -1
  57. package/dist/side-by-side.js +10 -12
  58. package/dist/side-by-side.js.map +1 -1
  59. package/package.json +2 -2
@@ -85,4 +85,93 @@ export function lineAtIndex(text, lineIndex) {
85
85
  return "";
86
86
  return lines[lineIndex] ?? "";
87
87
  }
88
+ /** Same whitespace tokenization as the hub search field. */
89
+ export function tokenizeQuery(q) {
90
+ return q.trim().split(/\s+/).filter(Boolean);
91
+ }
92
+ /**
93
+ * Documented-files tree filter: ordered case-insensitive substring tokens on normalized `sourcePath`
94
+ * (forward slashes), matching hub path search behavior.
95
+ */
96
+ export function filterPairsByDocumentedTreeQuery(pairs, query) {
97
+ const tokens = tokenizeQuery(query);
98
+ if (tokens.length === 0)
99
+ return [...pairs];
100
+ return pairs.filter((p) => {
101
+ const pathText = p.sourcePath.replace(/\\/g, "/");
102
+ return findOrderedTokenSpans(pathText, tokens).length > 0;
103
+ });
104
+ }
105
+ /**
106
+ * Builds path rows for the static hub search index from documented pairs.
107
+ *
108
+ * When several pairs share the same source filename (multi-angle), we must emit one source-path
109
+ * row per pair — same visible `text`, distinct `crPath` — so ordered path hits open the right
110
+ * companion (not only the first pair after lexicographic sort of commentray paths).
111
+ */
112
+ export function pathRowsFromDocumentedPairs(pairs) {
113
+ const seenSourceWithCompanion = new Set();
114
+ const seenCommentray = new Set();
115
+ const out = [];
116
+ let line = 0;
117
+ for (const p of pairs) {
118
+ const sp = p.sourcePath.trim();
119
+ const cr = p.commentrayPath.trim();
120
+ if (sp.length > 0) {
121
+ const spKey = `${sp}\0${cr}`;
122
+ if (!seenSourceWithCompanion.has(spKey)) {
123
+ seenSourceWithCompanion.add(spKey);
124
+ out.push({
125
+ kind: "path",
126
+ line: line++,
127
+ text: sp,
128
+ spPath: p.sourcePath,
129
+ crPath: p.commentrayPath,
130
+ });
131
+ }
132
+ }
133
+ if (cr.length > 0 && !seenCommentray.has(cr)) {
134
+ seenCommentray.add(cr);
135
+ out.push({
136
+ kind: "path",
137
+ line: line++,
138
+ text: cr,
139
+ spPath: p.sourcePath,
140
+ crPath: p.commentrayPath,
141
+ });
142
+ }
143
+ }
144
+ return out;
145
+ }
146
+ /** Max source paths shown when the user opens the empty-query browse preview (ArrowDown). */
147
+ export const MAX_BROWSE_SOURCE_FILE_PREVIEW = 80;
148
+ /**
149
+ * One preview row per distinct `sourcePath`. When several pairs share a source (multi-angle),
150
+ * keeps the pair with the lexicographically smallest `commentrayPath` so navigation is stable.
151
+ */
152
+ export function uniqueSourceFilePreviewRows(pairs, maxRows = MAX_BROWSE_SOURCE_FILE_PREVIEW) {
153
+ const bySource = new Map();
154
+ for (const p of pairs) {
155
+ const sp = p.sourcePath.trim();
156
+ if (sp.length === 0)
157
+ continue;
158
+ const prev = bySource.get(sp);
159
+ const candidate = {
160
+ sourcePath: p.sourcePath.trim(),
161
+ commentrayPath: p.commentrayPath.trim(),
162
+ };
163
+ if (!prev) {
164
+ bySource.set(sp, candidate);
165
+ continue;
166
+ }
167
+ if (candidate.commentrayPath.localeCompare(prev.commentrayPath) < 0) {
168
+ bySource.set(sp, candidate);
169
+ }
170
+ }
171
+ const totalUnique = bySource.size;
172
+ const rows = [...bySource.values()]
173
+ .sort((a, b) => a.sourcePath.localeCompare(b.sourcePath))
174
+ .slice(0, maxRows);
175
+ return { rows, totalUnique };
176
+ }
88
177
  //# sourceMappingURL=code-browser-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-browser-search.js","sourceRoot":"","sources":["../src/code-browser-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAAe,EAAE,MAAgB;IAClF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3E,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CACrF;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,MAAgB;IAEhB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAA0C,EAAE,CAAC;IACtD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QAC1D,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,EAAE,GAAG,KAAK,CAAC;gBACX,MAAM;YACR,CAAC;YACD,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,GAAG,GAAG,CAAC;YAC3B,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM;QAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC;QACX,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAc;IAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAiB;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC1D,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"code-browser-search.js","sourceRoot":"","sources":["../src/code-browser-search.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@ export type CodeBrowserMultiAngleSpec = {
7
7
  markdown: string;
8
8
  commentrayPathRel: string;
9
9
  commentrayOnGithubUrl?: string;
10
+ /**
11
+ * When the static site emits `_site/browse/<slug>.html` per pair, same-tab navigation for the
12
+ * Doc toolbar control (preferred over {@link commentrayOnGithubUrl} on the hub).
13
+ */
14
+ staticBrowseUrl?: string;
10
15
  blockStretchRows?: {
11
16
  index: CommentrayIndex;
12
17
  sourceRelative: string;
@@ -31,11 +36,18 @@ export type CodeBrowserPageOptions = {
31
36
  * Public Git (or other) URL for the repository whose source is shown — renders
32
37
  * as an Octocat link in the toolbar (top-right cluster on wide viewports).
33
38
  * Only `http:` / `https:` URLs are emitted.
39
+ * When {@link siteHubUrl} is set (static hub export), that link takes this slot instead.
34
40
  */
35
41
  githubRepoUrl?: string;
36
42
  /**
37
- * Home URL for the Commentray project (toolbar shows "Rendered with Commentray" plus the
38
- * package semver, linking here).
43
+ * Same-site URL for the static documentation hub (e.g. `./` on `index.html`, `../index.html`
44
+ * under `browse/`). When set, the first toolbar control is a **home** link here instead of
45
+ * {@link githubRepoUrl}. Uses the same path safety rules as {@link commentrayStaticBrowseUrl}.
46
+ */
47
+ siteHubUrl?: string;
48
+ /**
49
+ * Home URL for the Commentray project (footer shows "Rendered with Commentray" plus semver
50
+ * and build date/time, linking here).
39
51
  * Only `http:` / `https:` URLs are emitted.
40
52
  */
41
53
  toolHomeUrl?: string;
@@ -56,6 +68,10 @@ export type CodeBrowserPageOptions = {
56
68
  * Free-form label for `<meta name="generator">` (e.g. package versions). Omitted when unset.
57
69
  */
58
70
  generatorLabel?: string;
71
+ /**
72
+ * `<meta name="description">` content. When omitted, a short string is derived from the page title.
73
+ */
74
+ metaDescription?: string;
59
75
  /**
60
76
  * Instant this HTML was produced (footer “generated at” line and default generator meta).
61
77
  * Defaults to `new Date()` when omitted.
@@ -96,9 +112,14 @@ export type CodeBrowserPageOptions = {
96
112
  * GitHub **blob** URL for the companion commentray Markdown (same constraints as `sourceOnGithubUrl`).
97
113
  */
98
114
  commentrayOnGithubUrl?: string;
115
+ /**
116
+ * When set (e.g. `./browse/<slug>.html` from the static Pages build), the Doc toolbar icon
117
+ * opens this URL on the **same origin** instead of GitHub.
118
+ */
119
+ commentrayStaticBrowseUrl?: string;
99
120
  /**
100
121
  * Relative URL to a nav JSON document (e.g. `./commentray-nav-search.json`) that includes
101
- * `documentedPairs` — enables the **All commentray files** tree in the toolbar.
122
+ * `documentedPairs` — enables the **Comment-rayed files** tree in the toolbar.
102
123
  */
103
124
  documentedNavJsonUrl?: string;
104
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"code-browser.d.ts","sourceRoot":"","sources":["../src/code-browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,KAAK,0BAA0B,EAAwB,MAAM,wBAAwB,CAAC;AAG/F,2EAA2E;AAC3E,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,eAAe,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD;;;OAGG;IACH,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,eAAe,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACpD,oHAAoH;IACpH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;CACpD,CAAC;AAioCF;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmEzF"}
1
+ {"version":3,"file":"code-browser.d.ts","sourceRoot":"","sources":["../src/code-browser.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,eAAe,EAGrB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAAE,KAAK,0BAA0B,EAAwB,MAAM,wBAAwB,CAAC;AAG/F,2EAA2E;AAC3E,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,eAAe,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD;;;OAGG;IACH,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,eAAe,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACpD,oHAAoH;IACpH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;CACpD,CAAC;AAiiEF;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoEzF"}