create-cogenta 0.5.2 → 0.6.7

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 (171) hide show
  1. package/dist/blueprint-defaults.js +1 -1
  2. package/dist/blueprint-defaults.js.map +1 -1
  3. package/dist/index.d.ts +2 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/playground-reset.js +1 -1
  8. package/dist/playground-reset.js.map +1 -1
  9. package/dist/recap.js +1 -1
  10. package/dist/recap.js.map +1 -1
  11. package/dist/scaffold.d.ts +4 -2
  12. package/dist/scaffold.d.ts.map +1 -1
  13. package/dist/scaffold.js +10 -6
  14. package/dist/scaffold.js.map +1 -1
  15. package/dist/wizard.js +1 -1
  16. package/dist/wizard.js.map +1 -1
  17. package/package.json +14 -13
  18. package/dist/blueprints/assets/photos/association/community-cleanup.jpg +0 -0
  19. package/dist/blueprints/assets/photos/association/fundraising-dinner.jpg +0 -0
  20. package/dist/blueprints/assets/photos/association/garden-planting.jpg +0 -0
  21. package/dist/blueprints/assets/photos/association/harvest-food-drive.jpg +0 -0
  22. package/dist/blueprints/assets/photos/association/hero.jpg +0 -0
  23. package/dist/blueprints/assets/photos/association/volunteer-orientation.jpg +0 -0
  24. package/dist/blueprints/assets/photos/association/winter-coat-collection.jpg +0 -0
  25. package/dist/blueprints/assets/photos/blog/blog-runs-itself.jpg +0 -0
  26. package/dist/blueprints/assets/photos/blog/desk-setup.jpg +0 -0
  27. package/dist/blueprints/assets/photos/blog/editing.jpg +0 -0
  28. package/dist/blueprints/assets/photos/blog/hero.jpg +0 -0
  29. package/dist/blueprints/assets/photos/blog/notebooks.jpg +0 -0
  30. package/dist/blueprints/assets/photos/blog/plain-text-editor.jpg +0 -0
  31. package/dist/blueprints/assets/photos/blog/reading-nonfiction.jpg +0 -0
  32. package/dist/blueprints/assets/photos/blog/small-tool.jpg +0 -0
  33. package/dist/blueprints/assets/photos/blog/writing-schedule.jpg +0 -0
  34. package/dist/blueprints/assets/photos/magazine/business-2.jpg +0 -0
  35. package/dist/blueprints/assets/photos/magazine/business-3.jpg +0 -0
  36. package/dist/blueprints/assets/photos/magazine/business.jpg +0 -0
  37. package/dist/blueprints/assets/photos/magazine/culture-2.jpg +0 -0
  38. package/dist/blueprints/assets/photos/magazine/culture-3.jpg +0 -0
  39. package/dist/blueprints/assets/photos/magazine/culture.jpg +0 -0
  40. package/dist/blueprints/assets/photos/magazine/news-2.jpg +0 -0
  41. package/dist/blueprints/assets/photos/magazine/news-3.jpg +0 -0
  42. package/dist/blueprints/assets/photos/magazine/news.jpg +0 -0
  43. package/dist/blueprints/assets/photos/magazine/opinion-2.jpg +0 -0
  44. package/dist/blueprints/assets/photos/magazine/opinion-3.jpg +0 -0
  45. package/dist/blueprints/assets/photos/magazine/opinion.jpg +0 -0
  46. package/dist/blueprints/assets/photos/portfolio/adatum-publishing.jpg +0 -0
  47. package/dist/blueprints/assets/photos/portfolio/contoso-mobile-app.jpg +0 -0
  48. package/dist/blueprints/assets/photos/portfolio/fabrikam-annual-report.jpg +0 -0
  49. package/dist/blueprints/assets/photos/portfolio/hero.jpg +0 -0
  50. package/dist/blueprints/assets/photos/portfolio/litware-signage.jpg +0 -0
  51. package/dist/blueprints/assets/photos/portfolio/northwind-rebrand.jpg +0 -0
  52. package/dist/blueprints/assets/photos/portfolio/proseware-launch.jpg +0 -0
  53. package/dist/blueprints/assets/photos/portfolio/tailspin-streaming.jpg +0 -0
  54. package/dist/blueprints/assets/photos/portfolio/wingtip-wayfinding.jpg +0 -0
  55. package/dist/blueprints/assets/photos/restaurant/charred-octopus.jpg +0 -0
  56. package/dist/blueprints/assets/photos/restaurant/chocolate-tart.jpg +0 -0
  57. package/dist/blueprints/assets/photos/restaurant/creme-brulee.jpg +0 -0
  58. package/dist/blueprints/assets/photos/restaurant/hero.jpg +0 -0
  59. package/dist/blueprints/assets/photos/restaurant/house-red.jpg +0 -0
  60. package/dist/blueprints/assets/photos/restaurant/house-white.jpg +0 -0
  61. package/dist/blueprints/assets/photos/restaurant/pan-seared-trout.jpg +0 -0
  62. package/dist/blueprints/assets/photos/restaurant/poached-pear.jpg +0 -0
  63. package/dist/blueprints/assets/photos/restaurant/roasted-beet-salad.jpg +0 -0
  64. package/dist/blueprints/assets/photos/restaurant/slow-roast-duck-leg.jpg +0 -0
  65. package/dist/blueprints/assets/photos/restaurant/soup-of-the-day.jpg +0 -0
  66. package/dist/blueprints/assets/photos/restaurant/sparkling-water.jpg +0 -0
  67. package/dist/blueprints/assets/photos/restaurant/wild-mushroom-risotto.jpg +0 -0
  68. package/dist/blueprints/assets/photos/saas/avatar-1.jpg +0 -0
  69. package/dist/blueprints/assets/photos/saas/hero.jpg +0 -0
  70. package/dist/blueprints/assets/photos/store/camp-blanket.jpg +0 -0
  71. package/dist/blueprints/assets/photos/store/canvas-tote.jpg +0 -0
  72. package/dist/blueprints/assets/photos/store/cast-iron-skillet.jpg +0 -0
  73. package/dist/blueprints/assets/photos/store/ceramic-pour-over-set.jpg +0 -0
  74. package/dist/blueprints/assets/photos/store/enamel-mug.jpg +0 -0
  75. package/dist/blueprints/assets/photos/store/everyday-tee.jpg +0 -0
  76. package/dist/blueprints/assets/photos/store/field-jacket.jpg +0 -0
  77. package/dist/blueprints/assets/photos/store/hero.jpg +0 -0
  78. package/dist/blueprints/assets/photos/store/leather-card-holder.jpg +0 -0
  79. package/dist/blueprints/assets/photos/store/linen-table-runner.jpg +0 -0
  80. package/dist/blueprints/assets/photos/store/trail-tote.jpg +0 -0
  81. package/dist/blueprints/assets/photos/store/wool-beanie.jpg +0 -0
  82. package/dist/blueprints/assets/photos/store/wool-overshirt.jpg +0 -0
  83. package/dist/blueprints/assets/photos/vitrine/avatar-1.jpg +0 -0
  84. package/dist/blueprints/assets/photos/vitrine/avatar-2.jpg +0 -0
  85. package/dist/blueprints/assets/photos/vitrine/avatar-3.jpg +0 -0
  86. package/dist/blueprints/assets/photos/vitrine/dashboard.jpg +0 -0
  87. package/dist/blueprints/assets/photos/vitrine/hero.jpg +0 -0
  88. package/dist/blueprints/association.d.ts +0 -151
  89. package/dist/blueprints/association.d.ts.map +0 -1
  90. package/dist/blueprints/association.js +0 -732
  91. package/dist/blueprints/association.js.map +0 -1
  92. package/dist/blueprints/blog.d.ts +0 -198
  93. package/dist/blueprints/blog.d.ts.map +0 -1
  94. package/dist/blueprints/blog.js +0 -665
  95. package/dist/blueprints/blog.js.map +0 -1
  96. package/dist/blueprints/content-pack.d.ts +0 -143
  97. package/dist/blueprints/content-pack.d.ts.map +0 -1
  98. package/dist/blueprints/content-pack.js +0 -111
  99. package/dist/blueprints/content-pack.js.map +0 -1
  100. package/dist/blueprints/content-packs.d.ts +0 -11
  101. package/dist/blueprints/content-packs.d.ts.map +0 -1
  102. package/dist/blueprints/content-packs.js +0 -29
  103. package/dist/blueprints/content-packs.js.map +0 -1
  104. package/dist/blueprints/demo-media.d.ts +0 -39
  105. package/dist/blueprints/demo-media.d.ts.map +0 -1
  106. package/dist/blueprints/demo-media.js +0 -30
  107. package/dist/blueprints/demo-media.js.map +0 -1
  108. package/dist/blueprints/documentation.d.ts +0 -134
  109. package/dist/blueprints/documentation.d.ts.map +0 -1
  110. package/dist/blueprints/documentation.js +0 -678
  111. package/dist/blueprints/documentation.js.map +0 -1
  112. package/dist/blueprints/magazine.d.ts +0 -145
  113. package/dist/blueprints/magazine.d.ts.map +0 -1
  114. package/dist/blueprints/magazine.js +0 -543
  115. package/dist/blueprints/magazine.js.map +0 -1
  116. package/dist/blueprints/menus.d.ts +0 -25
  117. package/dist/blueprints/menus.d.ts.map +0 -1
  118. package/dist/blueprints/menus.js +0 -33
  119. package/dist/blueprints/menus.js.map +0 -1
  120. package/dist/blueprints/photo-assets.d.ts +0 -3
  121. package/dist/blueprints/photo-assets.d.ts.map +0 -1
  122. package/dist/blueprints/photo-assets.js +0 -33
  123. package/dist/blueprints/photo-assets.js.map +0 -1
  124. package/dist/blueprints/portfolio.d.ts +0 -141
  125. package/dist/blueprints/portfolio.d.ts.map +0 -1
  126. package/dist/blueprints/portfolio.js +0 -700
  127. package/dist/blueprints/portfolio.js.map +0 -1
  128. package/dist/blueprints/restaurant.d.ts +0 -124
  129. package/dist/blueprints/restaurant.d.ts.map +0 -1
  130. package/dist/blueprints/restaurant.js +0 -457
  131. package/dist/blueprints/restaurant.js.map +0 -1
  132. package/dist/blueprints/saas.d.ts +0 -133
  133. package/dist/blueprints/saas.d.ts.map +0 -1
  134. package/dist/blueprints/saas.js +0 -551
  135. package/dist/blueprints/saas.js.map +0 -1
  136. package/dist/blueprints/site-settings-seed.d.ts +0 -17
  137. package/dist/blueprints/site-settings-seed.d.ts.map +0 -1
  138. package/dist/blueprints/site-settings-seed.js +0 -45
  139. package/dist/blueprints/site-settings-seed.js.map +0 -1
  140. package/dist/blueprints/starting-skins.d.ts +0 -19
  141. package/dist/blueprints/starting-skins.d.ts.map +0 -1
  142. package/dist/blueprints/starting-skins.js +0 -301
  143. package/dist/blueprints/starting-skins.js.map +0 -1
  144. package/dist/blueprints/store.d.ts +0 -173
  145. package/dist/blueprints/store.d.ts.map +0 -1
  146. package/dist/blueprints/store.js +0 -643
  147. package/dist/blueprints/store.js.map +0 -1
  148. package/dist/blueprints/vitrine.d.ts +0 -178
  149. package/dist/blueprints/vitrine.d.ts.map +0 -1
  150. package/dist/blueprints/vitrine.js +0 -529
  151. package/dist/blueprints/vitrine.js.map +0 -1
  152. package/dist/demo-art/compositions.d.ts +0 -48
  153. package/dist/demo-art/compositions.d.ts.map +0 -1
  154. package/dist/demo-art/compositions.js +0 -690
  155. package/dist/demo-art/compositions.js.map +0 -1
  156. package/dist/demo-art/index.d.ts +0 -8
  157. package/dist/demo-art/index.d.ts.map +0 -1
  158. package/dist/demo-art/index.js +0 -5
  159. package/dist/demo-art/index.js.map +0 -1
  160. package/dist/demo-art/oklch.d.ts +0 -39
  161. package/dist/demo-art/oklch.d.ts.map +0 -1
  162. package/dist/demo-art/oklch.js +0 -79
  163. package/dist/demo-art/oklch.js.map +0 -1
  164. package/dist/demo-art/png.d.ts +0 -24
  165. package/dist/demo-art/png.d.ts.map +0 -1
  166. package/dist/demo-art/png.js +0 -110
  167. package/dist/demo-art/png.js.map +0 -1
  168. package/dist/demo-art/render.d.ts +0 -228
  169. package/dist/demo-art/render.d.ts.map +0 -1
  170. package/dist/demo-art/render.js +0 -478
  171. package/dist/demo-art/render.js.map +0 -1
@@ -1,178 +0,0 @@
1
- import type { VocabularyBlock } from '@cogenta/blocks';
2
- import { type CollectionDefinition } from '@cogenta/schema';
3
- import { type BlueprintContentPack, type RecommendedAgentHint } from './content-pack.js';
4
- import type { DemoMediaSpec } from './demo-media.js';
5
- import type { BlueprintMenus } from './menus.js';
6
- /**
7
- * The `vitrine` blueprint's content model (L9 task 8, batch A; raised to a
8
- * pro template by L25): the classic one-pager showcase site for a small
9
- * business or consultancy — a list of services and a few testimonials,
10
- * both real, editable collections rather than data baked into the page
11
- * itself.
12
- *
13
- * `icon` (a symbol name `@cogenta/theme-kit`'s `renderIcon` recognises) and
14
- * `coverImage` (contract D `theme@1.4`'s `entryImage`) are what let
15
- * `theme-entreprise`'s `featureGrid` and `collectionList` show a service
16
- * the same way `theme-saas`'s own `feature` collection already does.
17
- */
18
- export declare const service: {
19
- readonly name: "service";
20
- readonly labels: {
21
- readonly singular: "Service";
22
- readonly plural: "Services";
23
- };
24
- readonly routing: {
25
- readonly pattern: "/services/:slug";
26
- };
27
- readonly fields: {
28
- readonly seoTitle: import("@cogenta/schema").FieldDefinition & {
29
- readonly kind: "text";
30
- readonly options: Readonly<Record<string, unknown>>;
31
- };
32
- readonly seoDescription: import("@cogenta/schema").FieldDefinition & {
33
- readonly kind: "text";
34
- readonly options: Readonly<Record<string, unknown>>;
35
- };
36
- readonly seoImage: import("@cogenta/schema").FieldDefinition & {
37
- readonly kind: "media";
38
- readonly options: {
39
- accept: readonly ("audio" | "file" | "image" | "video")[];
40
- many: boolean;
41
- };
42
- };
43
- readonly seoNoindex: import("@cogenta/schema").FieldDefinition & {
44
- readonly kind: "boolean";
45
- readonly options: {};
46
- };
47
- readonly name: import("@cogenta/schema").FieldDefinition & {
48
- readonly kind: "text";
49
- readonly options: Readonly<Record<string, unknown>>;
50
- };
51
- readonly slug: import("@cogenta/schema").FieldDefinition & {
52
- readonly kind: "slug";
53
- readonly options: Readonly<Record<string, unknown>>;
54
- };
55
- readonly description: import("@cogenta/schema").FieldDefinition & {
56
- readonly kind: "text";
57
- readonly options: Readonly<Record<string, unknown>>;
58
- };
59
- readonly icon: import("@cogenta/schema").FieldDefinition & {
60
- readonly kind: "text";
61
- readonly options: Readonly<Record<string, unknown>>;
62
- };
63
- readonly coverImage: import("@cogenta/schema").FieldDefinition & {
64
- readonly kind: "media";
65
- readonly options: {
66
- accept: readonly ("audio" | "file" | "image" | "video")[];
67
- many: boolean;
68
- };
69
- };
70
- };
71
- readonly indexes: readonly [readonly ["slug"]];
72
- readonly permissions: {
73
- readonly read: readonly ["public"];
74
- readonly create: readonly ["editor", "admin"];
75
- readonly update: readonly ["editor", "admin"];
76
- readonly delete: readonly ["admin"];
77
- };
78
- };
79
- export declare const testimonial: {
80
- readonly name: "testimonial";
81
- readonly labels: {
82
- readonly singular: "Testimonial";
83
- readonly plural: "Testimonials";
84
- };
85
- readonly fields: {
86
- authorName: import("@cogenta/schema").FieldDefinition & {
87
- readonly kind: "text";
88
- readonly options: Readonly<Record<string, unknown>>;
89
- };
90
- authorRole: import("@cogenta/schema").FieldDefinition & {
91
- readonly kind: "text";
92
- readonly options: Readonly<Record<string, unknown>>;
93
- };
94
- quote: import("@cogenta/schema").FieldDefinition & {
95
- readonly kind: "text";
96
- readonly options: Readonly<Record<string, unknown>>;
97
- };
98
- avatar: import("@cogenta/schema").FieldDefinition & {
99
- readonly kind: "media";
100
- readonly options: {
101
- accept: readonly ("audio" | "file" | "image" | "video")[];
102
- many: boolean;
103
- };
104
- };
105
- };
106
- readonly permissions: {
107
- readonly read: readonly ["public"];
108
- readonly create: readonly ["editor", "admin"];
109
- readonly update: readonly ["editor", "admin"];
110
- readonly delete: readonly ["admin"];
111
- };
112
- };
113
- export declare const page: CollectionDefinition;
114
- export declare const VITRINE_COLLECTIONS: readonly CollectionDefinition[];
115
- export interface VitrineDemoService {
116
- readonly name: string;
117
- readonly slug: string;
118
- readonly description: string;
119
- readonly icon: string;
120
- }
121
- export interface VitrineDemoTestimonial {
122
- readonly authorName: string;
123
- readonly authorRole: string;
124
- readonly quote: string;
125
- }
126
- /**
127
- * Six real B2B capabilities, each with the icon `featureGrid` (home page)
128
- * and this same entry's own `icon` field both point at — a `collectionList`
129
- * of `service` and the home page's `featureGrid` read as one system rather
130
- * than two unrelated sections.
131
- */
132
- export declare const VITRINE_DEMO_SERVICES: readonly VitrineDemoService[];
133
- export declare const VITRINE_DEMO_TESTIMONIALS: readonly [
134
- VitrineDemoTestimonial,
135
- VitrineDemoTestimonial,
136
- VitrineDemoTestimonial
137
- ];
138
- export interface VitrineDemoPage {
139
- readonly title: string;
140
- readonly slug: string;
141
- readonly blocks: readonly VocabularyBlock[];
142
- }
143
- /**
144
- * `home` (eleven blocks, the "confident B2B one-pager" composition the L25
145
- * brief asks for: hero → trust strip → services → numbers → a wide product
146
- * shot → the full services grid with covers → client outcome → a second
147
- * voice → questions → call to action → a short about teaser), `about` (the
148
- * full story plus every real testimonial, mirrored as `quote` blocks so an
149
- * edit to the collection is visible without touching a page), and
150
- * `contact` (how to reach the business).
151
- *
152
- * A function of `media` (`SeedContext.media`) and the real ids
153
- * `seedVitrineDemoContent` assigns its own services (`serviceIdBySlug`),
154
- * not a static const: the hero's `media`, the trust strip's logos, the
155
- * services grid's covers and the featureGrid's links all need ids only the
156
- * scaffold knows at seed time. Both parameters default to empty so
157
- * `buildVitrineDemoPages({})` (the blueprint test's own call, and every
158
- * other blueprint's equivalent) still renders a complete, valid page —
159
- * `logoStrip`/`mediaFigure`/the hero's own media are simply omitted rather
160
- * than emitted with an empty required list.
161
- */
162
- export declare function buildVitrineDemoPages(media?: Readonly<Record<string, string>>, serviceIdBySlug?: ReadonlyMap<string, string>): readonly VitrineDemoPage[];
163
- /** `VITRINE_DEMO_PAGES` — the fixed-shape alias every existing caller (and `blueprint-demo-blocks.test.ts`) used before L25's media-driven rewrite. Equivalent to `buildVitrineDemoPages({})`. */
164
- export declare const VITRINE_DEMO_PAGES: readonly VitrineDemoPage[];
165
- export declare const VITRINE_RECOMMENDED_AGENTS: readonly RecommendedAgentHint[];
166
- /**
167
- * Procedural visuals this blueprint seeds (L25): a flat geometric hero
168
- * backdrop, five neutral client logos for the trust strip, one wide cover
169
- * for the engagement-dashboard figure, one avatar per testimonial, and one
170
- * cover photo per demo service — all from the same starting-skin palette
171
- * (`starting-skins.js`) this blueprint already ships.
172
- */
173
- export declare const VITRINE_MEDIA_SPECS: readonly DemoMediaSpec[];
174
- /** Header/footer navigation and the header call-to-action button (L25, D4). */
175
- export declare const VITRINE_MENUS: BlueprintMenus;
176
- export declare const VITRINE_SITE_SETTINGS: Readonly<Record<string, unknown>>;
177
- export declare const vitrineContentPack: BlueprintContentPack;
178
- //# sourceMappingURL=vitrine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vitrine.d.ts","sourceRoot":"","sources":["../../src/blueprints/vitrine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EACL,KAAK,oBAAoB,EAK1B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAK1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGhD;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlB,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;QAIpB,UAAU;;;;QACV,UAAU;;;;QACV,KAAK;;;;QACL,MAAM;;;;;;;;;;;;;;CAQR,CAAA;AAEF,eAAO,MAAM,IAAI,sBAAiC,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,SAAS,oBAAoB,EAAiC,CAAA;AAIhG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EA2C9D,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,SAAS;IAC/C,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;CAoBvB,CAAA;AA6BD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;CAC5C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5C,eAAe,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GACvD,SAAS,eAAe,EAAE,CA4L5B;AAmCD,kMAAkM;AAClM,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAA8B,CAAA;AAEvF,eAAO,MAAM,0BAA0B,EAAE,SAAS,oBAAoB,EAYrE,CAAA;AAuBD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,aAAa,EAmCvD,CAAA;AAED,+EAA+E;AAC/E,eAAO,MAAM,aAAa,EAAE,cAa3B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQnE,CAAA;AAuDD,eAAO,MAAM,kBAAkB,EAAE,oBAQhC,CAAA"}