@cmssy/mcp-server 0.7.2 → 0.9.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.
- package/README.md +14 -19
- package/dist/queries.d.ts +3 -7
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +3 -69
- package/dist/queries.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +37 -172
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +2 -15
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ Tools that accept `response`: `create_page`, `update_page_blocks`,
|
|
|
66
66
|
`update_model`, `create_record`, `update_record`.
|
|
67
67
|
|
|
68
68
|
`patch_block_content` and the various `delete_*` / status-only tools
|
|
69
|
-
(`update_form_submission_status`, `import_records
|
|
69
|
+
(`update_form_submission_status`, `import_records`)
|
|
70
70
|
already returned a compact ack and don't take `response`.
|
|
71
71
|
|
|
72
72
|
## Available Tools
|
|
@@ -77,8 +77,6 @@ already returned a compact ack and don't take `response`.
|
|
|
77
77
|
| -------------------- | ------------------------------------------------------ |
|
|
78
78
|
| `list_pages` | Page tree with hierarchy (optional `search` filter) |
|
|
79
79
|
| `get_page` | Full page with blocks and i18n content (by slug or id) |
|
|
80
|
-
| `list_block_types` | All available blocks with schemas and defaults |
|
|
81
|
-
| `get_block_schema` | Detailed schema for one block type |
|
|
82
80
|
| `get_site_config` | Languages, navigation, site name |
|
|
83
81
|
| `get_workspace_info` | Workspace name, plan, limits |
|
|
84
82
|
| `list_media` | Media library listing |
|
|
@@ -141,21 +139,19 @@ AI agents can define ModelDefinitions and CRUD their records. Schema/fields
|
|
|
141
139
|
follow `PropertyField` from `@cmssy/types`; records are validated against the
|
|
142
140
|
model on every write.
|
|
143
141
|
|
|
144
|
-
| Tool
|
|
145
|
-
|
|
|
146
|
-
| `list_models`
|
|
147
|
-
| `get_model`
|
|
148
|
-
| `create_model`
|
|
149
|
-
| `update_model`
|
|
150
|
-
| `delete_model`
|
|
151
|
-
| `list_records`
|
|
152
|
-
| `get_record`
|
|
153
|
-
| `create_record`
|
|
154
|
-
| `update_record`
|
|
155
|
-
| `delete_record`
|
|
156
|
-
| `import_records`
|
|
157
|
-
| `list_model_templates` | List available templates (E-commerce, Blog, etc.) |
|
|
158
|
-
| `create_model_from_template` | Install a template; returns `{ templateId, installedCount, skippedSlugs }` |
|
|
142
|
+
| Tool | Description |
|
|
143
|
+
| ---------------- | -------------------------------------------------------------------- |
|
|
144
|
+
| `list_models` | List all ModelDefinitions in the workspace |
|
|
145
|
+
| `get_model` | Get a model by id (ObjectId) or slug |
|
|
146
|
+
| `create_model` | Create a model (name, slug, fields, optional statusField) |
|
|
147
|
+
| `update_model` | Update any field of a model (fields change triggers schema migrate) |
|
|
148
|
+
| `delete_model` | Delete a model — **cascades to all its records** |
|
|
149
|
+
| `list_records` | List records with filter (JSON), sort, pagination, optional populate |
|
|
150
|
+
| `get_record` | Get a record by id |
|
|
151
|
+
| `create_record` | Create a record; `data` keyed by model field keys |
|
|
152
|
+
| `update_record` | Update a record's data and/or transition its status |
|
|
153
|
+
| `delete_record` | Delete a record |
|
|
154
|
+
| `import_records` | Bulk import up to 1000 records; returns `{ importedCount, errors }` |
|
|
159
155
|
|
|
160
156
|
Requires workspace permissions `MODELS_VIEW` (read) / `MODELS_CREATE` /
|
|
161
157
|
`MODELS_EDIT` / `MODELS_DELETE` depending on the operation.
|
|
@@ -165,7 +161,6 @@ Requires workspace permissions `MODELS_VIEW` (read) / `MODELS_CREATE` /
|
|
|
165
161
|
| URI | Description |
|
|
166
162
|
| ------------------- | ---------------------------- |
|
|
167
163
|
| `cmssy://sitemap` | Full page tree as JSON |
|
|
168
|
-
| `cmssy://blocks` | All block types with schemas |
|
|
169
164
|
| `cmssy://workspace` | Workspace info + site config |
|
|
170
165
|
|
|
171
166
|
## Example Workflow
|
package/dist/queries.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
export declare const PAGES_QUERY = "\n query Pages($search: String) {\n pages(search: $search) {\n id\n name\n slug\n description\n displayName\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n order\n createdAt\n updatedAt\n }\n }\n";
|
|
2
|
-
export declare const PAGE_BY_ID_QUERY = "\n query PageById($pageId: ID!) {\n page(pageId: $pageId) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n order\n blocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n publishedBlocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n layoutBlocks {\n id type position order isActive\n content settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n publishedLayoutBlocks {\n id type position order isActive\n content settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n layoutOverrides { position action blockId }\n inheritsLayout\n createdAt\n updatedAt\n }\n }\n";
|
|
3
|
-
export declare const WORKSPACE_BLOCKS_QUERY: string;
|
|
4
|
-
export declare const WORKSPACE_BLOCK_BY_TYPE_QUERY: string;
|
|
1
|
+
export declare const PAGES_QUERY = "\n query Pages($search: String) {\n pages(search: $search) {\n id\n name\n slug\n description\n displayName\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n order\n version\n createdAt\n updatedAt\n }\n }\n";
|
|
2
|
+
export declare const PAGE_BY_ID_QUERY = "\n query PageById($pageId: ID!) {\n page(pageId: $pageId) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n order\n version\n blocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n publishedBlocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n layoutBlocks {\n id type position order isActive\n content settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n publishedLayoutBlocks {\n id type position order isActive\n content settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n layoutOverrides { position action blockId }\n inheritsLayout\n createdAt\n updatedAt\n }\n }\n";
|
|
5
3
|
export declare const SITE_CONFIG_QUERY = "\n query SiteConfig {\n siteConfig {\n id\n defaultLanguage\n enabledLanguages\n siteName\n enabledFeatures\n }\n }\n";
|
|
6
4
|
export declare const CURRENT_WORKSPACE_QUERY = "\n query CurrentWorkspace {\n currentWorkspace {\n id\n name\n slug\n plan\n limits {\n maxPages\n maxUsers\n maxStorageMb\n maxAiTokensMonth\n maxWorkspacesOwned\n canUseCustomDomain\n canRemoveBranding\n canUseCustomScripts\n maxCustomBlocks\n maxCustomBlocksStorageMb\n }\n }\n }\n";
|
|
7
5
|
export declare const MEDIA_ASSETS_QUERY = "\n query MediaAssets($limit: Int, $offset: Int) {\n mediaAssets(limit: $limit, offset: $offset) {\n items {\n id\n url\n filename\n type\n mimeType\n size\n width\n height\n alt\n tags\n }\n total\n hasMore\n }\n }\n";
|
|
8
|
-
export declare const SAVE_PAGE_MUTATION = "\n mutation SavePage($input: SavePageInput!) {\n savePage(input: $input) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n published\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n blocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n createdAt\n updatedAt\n }\n }\n";
|
|
6
|
+
export declare const SAVE_PAGE_MUTATION = "\n mutation SavePage($input: SavePageInput!) {\n savePage(input: $input) {\n id\n version\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n published\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n pageType\n parentId\n blocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n createdAt\n updatedAt\n }\n }\n";
|
|
9
7
|
export declare const PATCH_BLOCK_CONTENT_MUTATION = "\n mutation PatchBlockContent($input: PatchBlockContentInput!) {\n patchBlockContent(input: $input) {\n id\n slug\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n }\n }\n";
|
|
10
8
|
export declare const UPDATE_PAGE_SETTINGS_MUTATION = "\n mutation UpdatePageSettings($input: UpdatePageSettingsInput!) {\n updatePageSettings(input: $input) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n pageType\n parentId\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n }\n }\n";
|
|
11
9
|
export declare const TOGGLE_PUBLISH_MUTATION = "\n mutation TogglePublish($id: ID!) {\n togglePublish(id: $id) {\n id\n slug\n published\n publishedAt\n hasUnpublishedContentChanges\n hasUnpublishedLayoutChanges\n updatedAt\n }\n }\n";
|
|
@@ -29,7 +27,6 @@ export declare const MODEL_DEFINITIONS_BY_SLUG_INDEX_QUERY = "\n query ModelDef
|
|
|
29
27
|
export declare const MODEL_DEFINITION_BY_ID_QUERY = "\n query ModelDefinition($id: ID!) {\n modelDefinition(id: $id) {\n \n id\n workspaceId\n name\n slug\n description\n icon\n color\n displayField\n defaultSort { field direction }\n fields { \n key\n label\n type\n required\n description\n defaultValue\n options\n fields\n itemType\n itemFields\n relationTo\n relationType\n acceptedTypes\n multiple\n schemaProperty\n minLength\n maxLength\n minValue\n maxValue\n pattern\n }\n statusField {\n enabled\n values\n defaultValue\n transitions { from to }\n }\n createdAt\n updatedAt\n createdBy\n recordCount\n\n }\n }\n";
|
|
30
28
|
export declare const MODEL_RECORDS_QUERY = "\n query ModelRecords(\n $modelId: ID!\n $filter: JSON\n $limit: Int\n $offset: Int\n $sort: String\n $populate: [String!]\n ) {\n modelRecords(\n modelId: $modelId\n filter: $filter\n limit: $limit\n offset: $offset\n sort: $sort\n populate: $populate\n ) {\n items { \n id\n workspaceId\n modelId\n data\n status\n createdAt\n updatedAt\n createdBy\n updatedBy\n }\n total\n hasMore\n }\n }\n";
|
|
31
29
|
export declare const MODEL_RECORD_BY_ID_QUERY = "\n query ModelRecord($id: ID!) {\n modelRecord(id: $id) {\n \n id\n workspaceId\n modelId\n data\n status\n createdAt\n updatedAt\n createdBy\n updatedBy\n\n }\n }\n";
|
|
32
|
-
export declare const MODEL_TEMPLATES_QUERY = "\n query ModelTemplates {\n modelTemplates {\n id\n name\n description\n icon\n category\n models {\n name\n slug\n description\n icon\n fieldCount\n hasStatus\n }\n }\n }\n";
|
|
33
30
|
export declare const CREATE_MODEL_DEFINITION_MUTATION = "\n mutation CreateModelDefinition($input: CreateModelDefinitionInput!) {\n createModelDefinition(input: $input) {\n \n id\n workspaceId\n name\n slug\n description\n icon\n color\n displayField\n defaultSort { field direction }\n fields { \n key\n label\n type\n required\n description\n defaultValue\n options\n fields\n itemType\n itemFields\n relationTo\n relationType\n acceptedTypes\n multiple\n schemaProperty\n minLength\n maxLength\n minValue\n maxValue\n pattern\n }\n statusField {\n enabled\n values\n defaultValue\n transitions { from to }\n }\n createdAt\n updatedAt\n createdBy\n recordCount\n\n }\n }\n";
|
|
34
31
|
export declare const UPDATE_MODEL_DEFINITION_MUTATION = "\n mutation UpdateModelDefinition($input: UpdateModelDefinitionInput!) {\n updateModelDefinition(input: $input) {\n \n id\n workspaceId\n name\n slug\n description\n icon\n color\n displayField\n defaultSort { field direction }\n fields { \n key\n label\n type\n required\n description\n defaultValue\n options\n fields\n itemType\n itemFields\n relationTo\n relationType\n acceptedTypes\n multiple\n schemaProperty\n minLength\n maxLength\n minValue\n maxValue\n pattern\n }\n statusField {\n enabled\n values\n defaultValue\n transitions { from to }\n }\n createdAt\n updatedAt\n createdBy\n recordCount\n\n }\n }\n";
|
|
35
32
|
export declare const DELETE_MODEL_DEFINITION_MUTATION = "\n mutation DeleteModelDefinition($id: ID!) {\n deleteModelDefinition(id: $id)\n }\n";
|
|
@@ -38,5 +35,4 @@ export declare const UPDATE_MODEL_RECORD_MUTATION = "\n mutation UpdateModelRec
|
|
|
38
35
|
export declare const UPDATE_MODEL_RECORD_STATUS_MUTATION = "\n mutation UpdateModelRecordStatus($input: UpdateModelRecordStatusInput!) {\n updateModelRecordStatus(input: $input) {\n \n id\n workspaceId\n modelId\n data\n status\n createdAt\n updatedAt\n createdBy\n updatedBy\n\n }\n }\n";
|
|
39
36
|
export declare const DELETE_MODEL_RECORD_MUTATION = "\n mutation DeleteModelRecord($id: ID!) {\n deleteModelRecord(id: $id)\n }\n";
|
|
40
37
|
export declare const IMPORT_MODEL_RECORDS_MUTATION = "\n mutation ImportModelRecords($input: ImportModelRecordsInput!) {\n importModelRecords(input: $input) {\n importedCount\n errors { row message }\n }\n }\n";
|
|
41
|
-
export declare const INSTALL_MODEL_TEMPLATE_MUTATION = "\n mutation InstallModelTemplate($templateId: String!) {\n installModelTemplate(templateId: $templateId) {\n templateId\n installedCount\n skippedSlugs\n }\n }\n";
|
|
42
38
|
//# sourceMappingURL=queries.d.ts.map
|
package/dist/queries.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,oWAoBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,miDAyE5B,CAAC;AAIF,eAAO,MAAM,iBAAiB,2JAU7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,6YAqBnC,CAAC;AAIF,eAAO,MAAM,kBAAkB,+TAmB9B,CAAC;AAIF,eAAO,MAAM,kBAAkB,wrBAsC9B,CAAC;AAOF,eAAO,MAAM,4BAA4B,0OAUxC,CAAC;AAEF,eAAO,MAAM,6BAA6B,wXAkBzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,yOAYnC,CAAC;AAEF,eAAO,MAAM,6BAA6B,giBA6BzC,CAAC;AAEF,eAAO,MAAM,4BAA4B,iPAYxC,CAAC;AAEF,eAAO,MAAM,oCAAoC,oWAehD,CAAC;AAEF,eAAO,MAAM,mCAAmC,qOAW/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,wEAIhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,yhBAmBvC,CAAC;AA4BF,eAAO,MAAM,WAAW,owBAQvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,oqBAM5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,kYAYlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,4PAQvC,CAAC;AAIF,eAAO,MAAM,oBAAoB,6rBAMhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,4tBAMhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAIhC,CAAC;AAEF,eAAO,MAAM,sCAAsC,yKAIlD,CAAC;AAEF,eAAO,MAAM,+BAA+B,0HAI3C,CAAC;AAiEF,eAAO,MAAM,uBAAuB,0mBAMnC,CAAC;AAKF,eAAO,MAAM,qCAAqC,sGAOjD,CAAC;AAEF,eAAO,MAAM,4BAA4B,2nBAMxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,meAsB/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,gMAMpC,CAAC;AAIF,eAAO,MAAM,gCAAgC,2qBAM5C,CAAC;AAEF,eAAO,MAAM,gCAAgC,2qBAM5C,CAAC;AAEF,eAAO,MAAM,gCAAgC,8FAI5C,CAAC;AAEF,eAAO,MAAM,4BAA4B,4OAMxC,CAAC;AAEF,eAAO,MAAM,4BAA4B,4OAMxC,CAAC;AAEF,eAAO,MAAM,mCAAmC,8PAM/C,CAAC;AAEF,eAAO,MAAM,4BAA4B,sFAIxC,CAAC;AAEF,eAAO,MAAM,6BAA6B,kLAOzC,CAAC"}
|
package/dist/queries.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { blockFieldGraphQLSelection } from "@cmssy/types";
|
|
2
|
-
const SCHEMA_FIELDS_FRAGMENT = blockFieldGraphQLSelection();
|
|
3
1
|
// ─── Page Queries ────────────────────────────────────────────
|
|
4
2
|
export const PAGES_QUERY = `
|
|
5
3
|
query Pages($search: String) {
|
|
@@ -16,6 +14,7 @@ export const PAGES_QUERY = `
|
|
|
16
14
|
pageType
|
|
17
15
|
parentId
|
|
18
16
|
order
|
|
17
|
+
version
|
|
19
18
|
createdAt
|
|
20
19
|
updatedAt
|
|
21
20
|
}
|
|
@@ -39,6 +38,7 @@ export const PAGE_BY_ID_QUERY = `
|
|
|
39
38
|
pageType
|
|
40
39
|
parentId
|
|
41
40
|
order
|
|
41
|
+
version
|
|
42
42
|
blocks {
|
|
43
43
|
id
|
|
44
44
|
type
|
|
@@ -94,45 +94,6 @@ export const PAGE_BY_ID_QUERY = `
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
`;
|
|
97
|
-
// ─── Workspace Block Queries ─────────────────────────────────
|
|
98
|
-
export const WORKSPACE_BLOCKS_QUERY = `
|
|
99
|
-
query WorkspaceBlocks {
|
|
100
|
-
workspaceBlocks {
|
|
101
|
-
id
|
|
102
|
-
blockType
|
|
103
|
-
name
|
|
104
|
-
description
|
|
105
|
-
icon
|
|
106
|
-
category
|
|
107
|
-
layoutPosition
|
|
108
|
-
useClient
|
|
109
|
-
schemaFields {
|
|
110
|
-
${SCHEMA_FIELDS_FRAGMENT}
|
|
111
|
-
}
|
|
112
|
-
defaultContent
|
|
113
|
-
version
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
`;
|
|
117
|
-
export const WORKSPACE_BLOCK_BY_TYPE_QUERY = `
|
|
118
|
-
query WorkspaceBlockByType($blockType: String!) {
|
|
119
|
-
workspaceBlockByType(blockType: $blockType) {
|
|
120
|
-
id
|
|
121
|
-
blockType
|
|
122
|
-
name
|
|
123
|
-
description
|
|
124
|
-
icon
|
|
125
|
-
category
|
|
126
|
-
layoutPosition
|
|
127
|
-
useClient
|
|
128
|
-
schemaFields {
|
|
129
|
-
${SCHEMA_FIELDS_FRAGMENT}
|
|
130
|
-
}
|
|
131
|
-
defaultContent
|
|
132
|
-
version
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
`;
|
|
136
97
|
// ─── Site Config Queries ─────────────────────────────────────
|
|
137
98
|
export const SITE_CONFIG_QUERY = `
|
|
138
99
|
query SiteConfig {
|
|
@@ -194,6 +155,7 @@ export const SAVE_PAGE_MUTATION = `
|
|
|
194
155
|
mutation SavePage($input: SavePageInput!) {
|
|
195
156
|
savePage(input: $input) {
|
|
196
157
|
id
|
|
158
|
+
version
|
|
197
159
|
name
|
|
198
160
|
slug
|
|
199
161
|
description
|
|
@@ -578,25 +540,6 @@ export const MODEL_RECORD_BY_ID_QUERY = `
|
|
|
578
540
|
}
|
|
579
541
|
}
|
|
580
542
|
`;
|
|
581
|
-
export const MODEL_TEMPLATES_QUERY = `
|
|
582
|
-
query ModelTemplates {
|
|
583
|
-
modelTemplates {
|
|
584
|
-
id
|
|
585
|
-
name
|
|
586
|
-
description
|
|
587
|
-
icon
|
|
588
|
-
category
|
|
589
|
-
models {
|
|
590
|
-
name
|
|
591
|
-
slug
|
|
592
|
-
description
|
|
593
|
-
icon
|
|
594
|
-
fieldCount
|
|
595
|
-
hasStatus
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
`;
|
|
600
543
|
// ─── Model Mutations ─────────────────────────────────────────
|
|
601
544
|
export const CREATE_MODEL_DEFINITION_MUTATION = `
|
|
602
545
|
mutation CreateModelDefinition($input: CreateModelDefinitionInput!) {
|
|
@@ -651,13 +594,4 @@ export const IMPORT_MODEL_RECORDS_MUTATION = `
|
|
|
651
594
|
}
|
|
652
595
|
}
|
|
653
596
|
`;
|
|
654
|
-
export const INSTALL_MODEL_TEMPLATE_MUTATION = `
|
|
655
|
-
mutation InstallModelTemplate($templateId: String!) {
|
|
656
|
-
installModelTemplate(templateId: $templateId) {
|
|
657
|
-
templateId
|
|
658
|
-
installedCount
|
|
659
|
-
skippedSlugs
|
|
660
|
-
}
|
|
661
|
-
}
|
|
662
|
-
`;
|
|
663
597
|
//# sourceMappingURL=queries.js.map
|
package/dist/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAwFlD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,aA0yE/C"}
|
package/dist/server.js
CHANGED
|
@@ -34,55 +34,13 @@ const jsonPreprocess = (val) => {
|
|
|
34
34
|
return val;
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
import { PAGES_QUERY, PAGE_BY_ID_QUERY,
|
|
37
|
+
import { PAGES_QUERY, PAGE_BY_ID_QUERY, SITE_CONFIG_QUERY, CURRENT_WORKSPACE_QUERY, MEDIA_ASSETS_QUERY, SAVE_PAGE_MUTATION, PATCH_BLOCK_CONTENT_MUTATION, UPDATE_PAGE_SETTINGS_MUTATION, TOGGLE_PUBLISH_MUTATION, PUBLISH_PAGE_CONTENT_MUTATION, PUBLISH_PAGE_LAYOUT_MUTATION, REVERT_CONTENT_TO_PUBLISHED_MUTATION, REVERT_LAYOUT_TO_PUBLISHED_MUTATION, REMOVE_PAGE_MUTATION, UPDATE_PAGE_LAYOUT_MUTATION, FORMS_QUERY, FORM_BY_ID_QUERY, FORM_SUBMISSIONS_QUERY, FORM_SUBMISSION_BY_ID_QUERY, CREATE_FORM_MUTATION, UPDATE_FORM_MUTATION, DELETE_FORM_MUTATION, UPDATE_FORM_SUBMISSION_STATUS_MUTATION, DELETE_FORM_SUBMISSION_MUTATION, MODEL_DEFINITIONS_QUERY, MODEL_DEFINITIONS_BY_SLUG_INDEX_QUERY, MODEL_DEFINITION_BY_ID_QUERY, MODEL_RECORDS_QUERY, MODEL_RECORD_BY_ID_QUERY, CREATE_MODEL_DEFINITION_MUTATION, UPDATE_MODEL_DEFINITION_MUTATION, DELETE_MODEL_DEFINITION_MUTATION, CREATE_MODEL_RECORD_MUTATION, UPDATE_MODEL_RECORD_MUTATION, UPDATE_MODEL_RECORD_STATUS_MUTATION, DELETE_MODEL_RECORD_MUTATION, IMPORT_MODEL_RECORDS_MUTATION, } from "./queries.js";
|
|
38
38
|
import { responseModeSchema, pageMinimal, pageBlockMinimal, formMinimal, modelMinimal, recordMinimal, jsonText, } from "./responses.js";
|
|
39
39
|
export function createServer(client) {
|
|
40
40
|
const server = new McpServer({
|
|
41
41
|
name: "cmssy",
|
|
42
42
|
version: PACKAGE_VERSION,
|
|
43
43
|
});
|
|
44
|
-
// ─── Workspace Block Registry (cached with TTL) ──────────────
|
|
45
|
-
let workspaceBlocksCache = null;
|
|
46
|
-
let cacheTimestamp = 0;
|
|
47
|
-
const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
|
|
48
|
-
async function getWorkspaceBlocks(forceRefresh = false) {
|
|
49
|
-
const now = Date.now();
|
|
50
|
-
if (!workspaceBlocksCache ||
|
|
51
|
-
forceRefresh ||
|
|
52
|
-
now - cacheTimestamp > CACHE_TTL_MS) {
|
|
53
|
-
const data = await client.query(WORKSPACE_BLOCKS_QUERY);
|
|
54
|
-
workspaceBlocksCache = data.workspaceBlocks;
|
|
55
|
-
cacheTimestamp = now;
|
|
56
|
-
}
|
|
57
|
-
return workspaceBlocksCache;
|
|
58
|
-
}
|
|
59
|
-
async function findBlockDef(blockType) {
|
|
60
|
-
let blocks = await getWorkspaceBlocks();
|
|
61
|
-
const found = blocks.find((b) => b.blockType === blockType);
|
|
62
|
-
if (found)
|
|
63
|
-
return found;
|
|
64
|
-
// Cache miss - block may have been added recently, retry with fresh data
|
|
65
|
-
blocks = await getWorkspaceBlocks(true);
|
|
66
|
-
return blocks.find((b) => b.blockType === blockType) ?? null;
|
|
67
|
-
}
|
|
68
|
-
async function validateBlockTypes(types) {
|
|
69
|
-
let wsBlocks = await getWorkspaceBlocks();
|
|
70
|
-
let available = wsBlocks.map((b) => b.blockType);
|
|
71
|
-
let invalid = types.filter((t) => !available.includes(t));
|
|
72
|
-
// Retry with fresh cache if unknown types found
|
|
73
|
-
if (invalid.length > 0) {
|
|
74
|
-
wsBlocks = await getWorkspaceBlocks(true);
|
|
75
|
-
available = wsBlocks.map((b) => b.blockType);
|
|
76
|
-
invalid = types.filter((t) => !available.includes(t));
|
|
77
|
-
}
|
|
78
|
-
if (invalid.length > 0) {
|
|
79
|
-
return {
|
|
80
|
-
valid: false,
|
|
81
|
-
error: `Unknown block type(s): ${invalid.join(", ")}. Available: ${available.join(", ")}`,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
return { valid: true };
|
|
85
|
-
}
|
|
86
44
|
/** Check if value is null, undefined, or empty object */
|
|
87
45
|
const isEmpty = (obj) => obj == null ||
|
|
88
46
|
(typeof obj === "object" && Object.keys(obj).length === 0);
|
|
@@ -92,6 +50,16 @@ export function createServer(client) {
|
|
|
92
50
|
return "/";
|
|
93
51
|
return "/" + slug.split("/").filter(Boolean).pop();
|
|
94
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Optimistic-concurrency guard for a read-modify-write save. Passes the
|
|
55
|
+
* version we just read as `expectedVersion`, so if another writer (e.g. the
|
|
56
|
+
* web editor) changed the page in the read→save window the backend returns
|
|
57
|
+
* VERSION_CONFLICT instead of silently clobbering it. Re-running the tool
|
|
58
|
+
* re-reads the fresh page and succeeds.
|
|
59
|
+
*/
|
|
60
|
+
function expectedVersionOf(page) {
|
|
61
|
+
return page?.version != null ? Number(page.version) : undefined;
|
|
62
|
+
}
|
|
95
63
|
// ─── Read Tools ──────────────────────────────────────────────
|
|
96
64
|
server.tool("list_pages", "List pages in the workspace. Optionally filter by search query (matches name, slug, displayName).", {
|
|
97
65
|
search: z
|
|
@@ -139,43 +107,6 @@ export function createServer(client) {
|
|
|
139
107
|
],
|
|
140
108
|
};
|
|
141
109
|
});
|
|
142
|
-
server.tool("list_block_types", "List all available block types with schemas, categories, and defaults", {}, async () => {
|
|
143
|
-
const data = await client.query(WORKSPACE_BLOCKS_QUERY);
|
|
144
|
-
return {
|
|
145
|
-
content: [
|
|
146
|
-
{
|
|
147
|
-
type: "text",
|
|
148
|
-
text: JSON.stringify(data.workspaceBlocks, null, 2),
|
|
149
|
-
},
|
|
150
|
-
],
|
|
151
|
-
};
|
|
152
|
-
});
|
|
153
|
-
server.tool("get_block_schema", "Get detailed schema for a specific block type (fields, types, validation, defaults)", {
|
|
154
|
-
blockType: z
|
|
155
|
-
.string()
|
|
156
|
-
.describe("Block type identifier (e.g. 'hero', 'text-block')"),
|
|
157
|
-
}, async ({ blockType }) => {
|
|
158
|
-
const data = await client.query(WORKSPACE_BLOCK_BY_TYPE_QUERY, { blockType });
|
|
159
|
-
if (!data.workspaceBlockByType) {
|
|
160
|
-
return {
|
|
161
|
-
content: [
|
|
162
|
-
{
|
|
163
|
-
type: "text",
|
|
164
|
-
text: `Block type '${blockType}' not found`,
|
|
165
|
-
},
|
|
166
|
-
],
|
|
167
|
-
isError: true,
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
return {
|
|
171
|
-
content: [
|
|
172
|
-
{
|
|
173
|
-
type: "text",
|
|
174
|
-
text: JSON.stringify(data.workspaceBlockByType, null, 2),
|
|
175
|
-
},
|
|
176
|
-
],
|
|
177
|
-
};
|
|
178
|
-
});
|
|
179
110
|
server.tool("get_site_config", "Get site configuration: languages, navigation, header, footer, site name, enabled features", {}, async () => {
|
|
180
111
|
// Dynamically introspect header/footer types from the backend schema
|
|
181
112
|
const [headerSel, footerSel] = await Promise.all([
|
|
@@ -276,14 +207,12 @@ export function createServer(client) {
|
|
|
276
207
|
});
|
|
277
208
|
return jsonText(response, data.savePage, pageMinimal);
|
|
278
209
|
});
|
|
279
|
-
server.tool("update_page_blocks", "Set the full content blocks array on a page. Replaces all existing content blocks. Block types are validated
|
|
210
|
+
server.tool("update_page_blocks", "Set the full content blocks array on a page. Replaces all existing content blocks. Block types are validated server-side on save. Blocks with matching IDs preserve their existing content/settings when not explicitly provided. Returns a minimal ack by default; pass response='full' for the full mutation response.", {
|
|
280
211
|
pageId: z.string().describe("Page ID"),
|
|
281
212
|
blocks: z.preprocess(jsonPreprocess, z
|
|
282
213
|
.array(z.object({
|
|
283
214
|
id: z.string().describe("Unique block instance ID (UUID)"),
|
|
284
|
-
type: z
|
|
285
|
-
.string()
|
|
286
|
-
.describe("Block type (must exist in workspace blocks)"),
|
|
215
|
+
type: z.string().describe("Block type"),
|
|
287
216
|
content: z.record(z.string(), z.unknown()).optional(),
|
|
288
217
|
settings: z.record(z.string(), z.unknown()).optional(),
|
|
289
218
|
style: z.record(z.string(), z.unknown()).optional(),
|
|
@@ -298,14 +227,6 @@ export function createServer(client) {
|
|
|
298
227
|
.describe("Full array of content blocks to set on the page")),
|
|
299
228
|
response: responseModeSchema,
|
|
300
229
|
}, async ({ pageId, blocks, response }) => {
|
|
301
|
-
// Validate all block types against workspace registry
|
|
302
|
-
const validation = await validateBlockTypes(blocks.map((b) => b.type));
|
|
303
|
-
if (!validation.valid) {
|
|
304
|
-
return {
|
|
305
|
-
content: [{ type: "text", text: validation.error }],
|
|
306
|
-
isError: true,
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
230
|
const pageData = await client.query(PAGE_BY_ID_QUERY, { pageId });
|
|
310
231
|
if (!pageData.page) {
|
|
311
232
|
return {
|
|
@@ -342,6 +263,7 @@ export function createServer(client) {
|
|
|
342
263
|
slug: toRelativeSlug(pageData.page.slug),
|
|
343
264
|
parentId: pageData.page.parentId ?? undefined,
|
|
344
265
|
blocks: mergedBlocks,
|
|
266
|
+
expectedVersion: expectedVersionOf(pageData.page),
|
|
345
267
|
},
|
|
346
268
|
});
|
|
347
269
|
return jsonText(response, data.savePage, pageMinimal);
|
|
@@ -551,12 +473,12 @@ export function createServer(client) {
|
|
|
551
473
|
};
|
|
552
474
|
});
|
|
553
475
|
// ─── Layout Tools ──────────────────────────────────────────
|
|
554
|
-
server.tool("update_page_layout", "Update page-level layout settings: inheritance, overrides, or replace all layout blocks. Block types are validated
|
|
476
|
+
server.tool("update_page_layout", "Update page-level layout settings: inheritance, overrides, or replace all layout blocks. Block types are validated server-side on save. Returns a minimal ack by default; pass response='full' for the full mutation response.", {
|
|
555
477
|
pageId: z.string().describe("Page ID"),
|
|
556
478
|
layoutBlocks: z
|
|
557
479
|
.array(z.record(z.string(), z.unknown()))
|
|
558
480
|
.optional()
|
|
559
|
-
.describe("Full replacement array of layout blocks. Each must have 'type' (validated
|
|
481
|
+
.describe("Full replacement array of layout blocks. Each must have 'type' (validated server-side on save). Position, order, content etc. are passed through to the backend."),
|
|
560
482
|
layoutOverrides: z
|
|
561
483
|
.array(z.object({
|
|
562
484
|
position: z.string().describe("Layout position to override"),
|
|
@@ -571,19 +493,6 @@ export function createServer(client) {
|
|
|
571
493
|
.describe("Whether this page inherits layout from parent"),
|
|
572
494
|
response: responseModeSchema,
|
|
573
495
|
}, async ({ pageId, layoutBlocks, layoutOverrides, inheritsLayout, response, }) => {
|
|
574
|
-
// Validate block types against workspace registry
|
|
575
|
-
if (layoutBlocks) {
|
|
576
|
-
const types = layoutBlocks
|
|
577
|
-
.map((b) => b.type)
|
|
578
|
-
.filter(Boolean);
|
|
579
|
-
const validation = await validateBlockTypes(types);
|
|
580
|
-
if (!validation.valid) {
|
|
581
|
-
return {
|
|
582
|
-
content: [{ type: "text", text: validation.error }],
|
|
583
|
-
isError: true,
|
|
584
|
-
};
|
|
585
|
-
}
|
|
586
|
-
}
|
|
587
496
|
// Merge layout blocks: preserve existing content when not provided
|
|
588
497
|
let mergedLayoutBlocks = layoutBlocks;
|
|
589
498
|
if (layoutBlocks) {
|
|
@@ -624,38 +533,28 @@ export function createServer(client) {
|
|
|
624
533
|
return jsonText(response, data.updatePageLayout, pageMinimal);
|
|
625
534
|
});
|
|
626
535
|
// ─── Block Helper Tools (read-modify-write) ─────────────────
|
|
627
|
-
server.tool("add_block_to_page", "Add a block to a page.
|
|
536
|
+
server.tool("add_block_to_page", "Add a block to a page. Auto-generates UUID and translation status. Pass layoutPosition (e.g. 'header'/'footer') to add a layout block; omit it for a content block in the page body. Returns a minimal ack by default ({pageId, blockId, hasUnpublishedChanges, updatedAt}); pass response='full' for the full mutation response.", {
|
|
628
537
|
pageId: z.string().describe("Page ID"),
|
|
629
538
|
block: z.preprocess(jsonPreprocess, z.object({
|
|
630
|
-
type: z
|
|
631
|
-
.string()
|
|
632
|
-
.describe("Block type (must exist in workspace blocks)"),
|
|
539
|
+
type: z.string().describe("Block type"),
|
|
633
540
|
content: z
|
|
634
541
|
.record(z.string(), z.unknown())
|
|
635
542
|
.describe("Language-keyed content: { en: { title: '...' }, pl: { title: '...' } }"),
|
|
636
543
|
settings: z.record(z.string(), z.unknown()).optional(),
|
|
637
544
|
style: z.record(z.string(), z.unknown()).optional(),
|
|
638
545
|
})),
|
|
546
|
+
layoutPosition: z
|
|
547
|
+
.string()
|
|
548
|
+
.trim()
|
|
549
|
+
.min(1)
|
|
550
|
+
.optional()
|
|
551
|
+
.describe("Layout position (e.g. 'header', 'footer') to add a layout block; omit for a content block"),
|
|
639
552
|
position: z
|
|
640
553
|
.number()
|
|
641
554
|
.optional()
|
|
642
|
-
.describe("0-based position to insert at (default: end)"),
|
|
555
|
+
.describe("0-based position to insert at (default: end). Content blocks only - layout blocks are always appended within their position"),
|
|
643
556
|
response: responseModeSchema,
|
|
644
|
-
}, async ({ pageId, block, position, response }) => {
|
|
645
|
-
// Validate block type against workspace registry
|
|
646
|
-
const blockDef = await findBlockDef(block.type);
|
|
647
|
-
if (!blockDef) {
|
|
648
|
-
const available = await getWorkspaceBlocks();
|
|
649
|
-
return {
|
|
650
|
-
content: [
|
|
651
|
-
{
|
|
652
|
-
type: "text",
|
|
653
|
-
text: `Block type '${block.type}' not found. Available: ${available.map((b) => b.blockType).join(", ")}`,
|
|
654
|
-
},
|
|
655
|
-
],
|
|
656
|
-
isError: true,
|
|
657
|
-
};
|
|
658
|
-
}
|
|
557
|
+
}, async ({ pageId, block, layoutPosition, position, response }) => {
|
|
659
558
|
// Fetch current page
|
|
660
559
|
const pageData = await client.query(PAGE_BY_ID_QUERY, { pageId });
|
|
661
560
|
if (!pageData.page) {
|
|
@@ -678,11 +577,9 @@ export function createServer(client) {
|
|
|
678
577
|
};
|
|
679
578
|
}
|
|
680
579
|
const newBlockId = crypto.randomUUID();
|
|
681
|
-
|
|
682
|
-
if (isLayout) {
|
|
580
|
+
if (layoutPosition) {
|
|
683
581
|
// Layout block — add to layoutBlocks via updatePageLayout
|
|
684
582
|
const existingLayoutBlocks = pageData.page.layoutBlocks || [];
|
|
685
|
-
const layoutPosition = blockDef.layoutPosition;
|
|
686
583
|
// Append after existing blocks in same position
|
|
687
584
|
const maxOrder = existingLayoutBlocks
|
|
688
585
|
.filter((b) => b.position === layoutPosition)
|
|
@@ -741,6 +638,7 @@ export function createServer(client) {
|
|
|
741
638
|
slug: toRelativeSlug(pageData.page.slug),
|
|
742
639
|
parentId: pageData.page.parentId ?? undefined,
|
|
743
640
|
blocks,
|
|
641
|
+
expectedVersion: expectedVersionOf(pageData.page),
|
|
744
642
|
},
|
|
745
643
|
});
|
|
746
644
|
return jsonText(response, { blockId: newBlockId, page: data.savePage }, () => pageBlockMinimal(data.savePage, newBlockId));
|
|
@@ -841,6 +739,7 @@ export function createServer(client) {
|
|
|
841
739
|
slug: toRelativeSlug(page.slug),
|
|
842
740
|
parentId: page.parentId ?? undefined,
|
|
843
741
|
blocks: targetArray,
|
|
742
|
+
expectedVersion: expectedVersionOf(page),
|
|
844
743
|
},
|
|
845
744
|
});
|
|
846
745
|
return jsonText(response, data.savePage, (p) => pageBlockMinimal(p, blockId));
|
|
@@ -858,6 +757,11 @@ export function createServer(client) {
|
|
|
858
757
|
.string()
|
|
859
758
|
.optional()
|
|
860
759
|
.describe("Field inside content[locale] to patch (default: 'content', the HTML body of docs-article blocks). Must resolve to a string."),
|
|
760
|
+
expectedVersion: z
|
|
761
|
+
.number()
|
|
762
|
+
.int()
|
|
763
|
+
.optional()
|
|
764
|
+
.describe("Optimistic-concurrency guard: the page `version` you last read (e.g. from get_page). If set and the page changed since, the patch is rejected with VERSION_CONFLICT instead of overwriting concurrent edits - refetch the page and retry."),
|
|
861
765
|
// `jsonPreprocess` matches the other tools in this file that accept
|
|
862
766
|
// complex inputs - MCP clients sometimes JSON-serialize nested
|
|
863
767
|
// arrays/objects instead of passing raw JSON. Without the preprocess
|
|
@@ -911,7 +815,7 @@ export function createServer(client) {
|
|
|
911
815
|
.describe("A single patch op. Ops apply in order; any failure aborts the whole patch (no half-applied state)."))
|
|
912
816
|
.min(1)
|
|
913
817
|
.describe("Ordered list of patch operations. Apply smallest first - each op must still find its markers in the string after previous ops have applied.")),
|
|
914
|
-
}, async ({ pageId, blockId, locale, fieldPath, operations }) => {
|
|
818
|
+
}, async ({ pageId, blockId, locale, fieldPath, operations, expectedVersion, }) => {
|
|
915
819
|
// Zod's discriminatedUnion + .strict() already shapes each op
|
|
916
820
|
// exactly like the backend's PatchOperationInput (insert_*: op,
|
|
917
821
|
// marker, html; replace_section: op, startMarker, endMarker, html).
|
|
@@ -926,6 +830,7 @@ export function createServer(client) {
|
|
|
926
830
|
blockId,
|
|
927
831
|
locale,
|
|
928
832
|
...(fieldPath ? { fieldPath } : {}),
|
|
833
|
+
...(expectedVersion !== undefined ? { expectedVersion } : {}),
|
|
929
834
|
operations,
|
|
930
835
|
},
|
|
931
836
|
});
|
|
@@ -981,6 +886,7 @@ export function createServer(client) {
|
|
|
981
886
|
slug: toRelativeSlug(page.slug),
|
|
982
887
|
parentId: page.parentId ?? undefined,
|
|
983
888
|
blocks: contentBlocks,
|
|
889
|
+
expectedVersion: expectedVersionOf(page),
|
|
984
890
|
},
|
|
985
891
|
});
|
|
986
892
|
return jsonText(response, data.savePage, (p) => pageBlockMinimal(p, blockId));
|
|
@@ -1784,32 +1690,6 @@ export function createServer(client) {
|
|
|
1784
1690
|
],
|
|
1785
1691
|
};
|
|
1786
1692
|
});
|
|
1787
|
-
server.tool("list_model_templates", "List available model templates (E-commerce, Blog, etc.). Each template installs one or more ModelDefinitions.", {}, async () => {
|
|
1788
|
-
const data = await client.query(MODEL_TEMPLATES_QUERY);
|
|
1789
|
-
return {
|
|
1790
|
-
content: [
|
|
1791
|
-
{
|
|
1792
|
-
type: "text",
|
|
1793
|
-
text: JSON.stringify(data.modelTemplates, null, 2),
|
|
1794
|
-
},
|
|
1795
|
-
],
|
|
1796
|
-
};
|
|
1797
|
-
});
|
|
1798
|
-
server.tool("create_model_from_template", "Install a model template into the workspace. Creates all models defined by the template; skips any whose slug already exists. Returns { templateId, installedCount, skippedSlugs }.", {
|
|
1799
|
-
templateId: z
|
|
1800
|
-
.string()
|
|
1801
|
-
.describe("Template id (from list_model_templates)"),
|
|
1802
|
-
}, async ({ templateId }) => {
|
|
1803
|
-
const data = await client.query(INSTALL_MODEL_TEMPLATE_MUTATION, { templateId });
|
|
1804
|
-
return {
|
|
1805
|
-
content: [
|
|
1806
|
-
{
|
|
1807
|
-
type: "text",
|
|
1808
|
-
text: JSON.stringify(data.installModelTemplate, null, 2),
|
|
1809
|
-
},
|
|
1810
|
-
],
|
|
1811
|
-
};
|
|
1812
|
-
});
|
|
1813
1693
|
// ─── Resources ───────────────────────────────────────────────
|
|
1814
1694
|
server.resource("sitemap", "cmssy://sitemap", {
|
|
1815
1695
|
description: "Full page tree as JSON — all pages with hierarchy",
|
|
@@ -1826,21 +1706,6 @@ export function createServer(client) {
|
|
|
1826
1706
|
],
|
|
1827
1707
|
};
|
|
1828
1708
|
});
|
|
1829
|
-
server.resource("blocks", "cmssy://blocks", {
|
|
1830
|
-
description: "All available block types with schemas and defaults",
|
|
1831
|
-
mimeType: "application/json",
|
|
1832
|
-
}, async (uri) => {
|
|
1833
|
-
const data = await client.query(WORKSPACE_BLOCKS_QUERY);
|
|
1834
|
-
return {
|
|
1835
|
-
contents: [
|
|
1836
|
-
{
|
|
1837
|
-
uri: uri.href,
|
|
1838
|
-
mimeType: "application/json",
|
|
1839
|
-
text: JSON.stringify(data.workspaceBlocks, null, 2),
|
|
1840
|
-
},
|
|
1841
|
-
],
|
|
1842
|
-
};
|
|
1843
|
-
});
|
|
1844
1709
|
server.resource("workspace", "cmssy://workspace", {
|
|
1845
1710
|
description: "Workspace info and site configuration merged",
|
|
1846
1711
|
mimeType: "application/json",
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,8DAA8D;AAC9D,mEAAmE;AACnE,gCAAgC;AAChC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CACvD,CAAC;QACF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC,CAAC;AACF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,oCAAoC,EACpC,mCAAmC,EACnC,oBAAoB,EACpB,2BAA2B,EAC3B,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sCAAsC,EACtC,+BAA+B,EAC/B,uBAAuB,EACvB,qCAAqC,EACrC,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE,CAC/B,GAAG,IAAI,IAAI;QACX,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAEvE,+EAA+E;IAC/E,SAAS,cAAc,CAAC,IAAY;QAClC,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC;QAC7B,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,SAAS,iBAAiB,CAAC,IAE1B;QACC,OAAO,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED,gEAAgE;IAEhE,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,mGAAmG,EACnG;QACE,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;KAC1E,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAoB,WAAW,EAAE;YAC9D,MAAM,EAAE,MAAM,IAAI,SAAS;SAC5B,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACrE;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,UAAU,EACV,oFAAoF,EACpF;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACvE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KAC9C,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;QACrB,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,sCAAsC;qBAC7C;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAwB,gBAAgB,EAAE;YACvE,MAAM,EAAE,EAAE,IAAI,IAAI;SACnB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aAC/D;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,4FAA4F,EAC5F,EAAE,EACF,KAAK,IAAI,EAAE;QACT,qEAAqE;QACrE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;YACtC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG;;;;;;;;cAQN,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;cAC1C,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;;;OAGjD,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAoC,KAAK,CAAC,CAAC;QAC1E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,6CAA6C,EAC7C,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,uBAAuB,CAAC,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,+DAA+D,EAC/D;QACE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,2CAA2C,CAAC;KACzD,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBAChD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gEAAgE;IAEhE,MAAM,CAAC,IAAI,CACT,aAAa,EACb,2GAA2G,EAC3G;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAChE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iCAAiC,CAAC;QAC9C,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,MAAM,CAAC;aACf,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,WAAW,EAAE,CAAC;aACX,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5D,QAAQ,EAAE;aACV,QAAQ,CACP,8DAA8D,CAC/D;QACH,QAAQ,EAAE,CAAC;aACR,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5D,QAAQ,EAAE;aACV,QAAQ,CAAC,wBAAwB,CAAC;QACrC,cAAc,EAAE,CAAC;aACd,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5D,QAAQ,EAAE;aACV,QAAQ,CAAC,8BAA8B,CAAC;QAC3C,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,GACT,EAAE,EAAE;QACH,MAAM,KAAK,GAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtD,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,IAAI,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACjD,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,IAAI,cAAc;YAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;QAE1D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAqB,kBAAkB,EAAE;YACtE,KAAK;SACN,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,0TAA0T,EAC1T;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,MAAM,EAAE,CAAC,CAAC,UAAU,CAClB,cAAc,EACd,CAAC;aACE,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACvC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACnD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtD,YAAY,EAAE,CAAC;iBACZ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;iBACpD,QAAQ,EAAE;YACb,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACpC,CAAC,CACH;aACA,QAAQ,CAAC,iDAAiD,CAAC,CAC/D;QACD,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5B,OAAO;gBACL,GAAG,KAAK;gBACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;gBAClE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC/B,CAAC,CAAC,QAAQ,CAAC,QAAQ;oBACnB,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;gBACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;gBAC7C,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;oBACvC,CAAC,CAAC,QAAQ,CAAC,YAAY;oBACvB,CAAC,CAAC,KAAK,CAAC,YAAY;gBACtB,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe;gBAClE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;gBAC7C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;aAC1D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAqB,kBAAkB,EAAE;YACtE,KAAK,EAAE;gBACL,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;gBACxB,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS;gBAC7C,MAAM,EAAE,YAAY;gBACpB,eAAe,EAAE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC;aAClD;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,oJAAoJ,EACpJ;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChD,WAAW,EAAE,CAAC;aACX,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5D,QAAQ,EAAE;aACV,QAAQ,CAAC,2BAA2B,CAAC;QACxC,QAAQ,EAAE,CAAC;aACR,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5D,QAAQ,EAAE;aACV,QAAQ,CAAC,wBAAwB,CAAC;QACrC,cAAc,EAAE,CAAC;aACd,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5D,QAAQ,EAAE;aACV,QAAQ,CAAC,8BAA8B,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACpE,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EACL,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,WAAW,EACX,QAAQ,GACT,EAAE,EAAE;QACH,MAAM,KAAK,GAA4B,EAAE,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/D,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtD,IAAI,cAAc,KAAK,SAAS;YAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;QACxE,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,6BAA6B,EAC7B,EAAE,KAAK,EAAE,CACV,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,wLAAwL,EACxL;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACjD,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,IACE,IAAI,CAAC,SAAS;YACd,CAAC,IAAI,CAAC,4BAA4B;YAClC,CAAC,IAAI,CAAC,2BAA2B,EACjC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,uEAAuE;qBAC9E;iBACF;aACF,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CACpC,6BAA6B,EAC7B,EAAE,EAAE,EAAE,MAAM,EAAE,CACf,CAAC;QAEF,uEAAuE;QACvE,mEAAmE;QACnE,kEAAkE;QAClE,IAAI,UAA8C,CAAC;QACnD,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,4BAA4B,EAC5B,EAAE,EAAE,EAAE,MAAM,EAAE,CACf,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,2EAA2E,OAAO,0HAA0H;qBACnN;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,4MAA4M;qBACnN;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,yCAAyC;QACzC,MAAM,SAAS,GAAG;YAChB,GAAG,WAAW,CAAC,kBAAkB;YACjC,GAAG,UAAU,CAAC,iBAAiB;SAChC,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,WAAW,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACpC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,kJAAkJ,EAClJ;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACnD,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE;iBAC/D;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,uBAAuB,EACvB,EAAE,EAAE,EAAE,MAAM,EAAE,CACf,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAClD,WAAW,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CACrC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,mKAAmK,EACnK;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAChD,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7B,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,4CAA4C;qBACnD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAEnC,oCAAoC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzD,MAAM,eAAe,GAAG,WAAW,CAAC,wBAAwB,CAAC;QAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+BAA+B,EAAE;iBACjE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,UAAoD,CAAC;QACzD,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,mCAAmC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,+EAA+E,OAAO,oIAAoI;qBACjO;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,0NAA0N;qBACjO;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,yCAAyC;QACzC,MAAM,QAAQ,GAAG;YACf,GAAG,eAAe;YAClB,GAAG,UAAU,CAAC,uBAAuB;SACtC,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,gFAAgF,EAChF,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EACpD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,oBAAoB,EACpB,EAAE,EAAE,EAAE,MAAM,EAAE,CACf,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,UAAU;wBACnB,CAAC,CAAC,2BAA2B;wBAC7B,CAAC,CAAC,uBAAuB;iBAC5B;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,gOAAgO,EAChO;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACxC,QAAQ,EAAE;aACV,QAAQ,CACP,kKAAkK,CACnK;QACH,eAAe,EAAE,CAAC;aACf,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SAChE,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;QACvD,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EACL,MAAM,EACN,YAAY,EACZ,eAAe,EACf,cAAc,EACd,QAAQ,GACT,EAAE,EAAE;QACH,mEAAmE;QACnE,IAAI,kBAAkB,GAAG,YAAY,CAAC;QACtC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;YACF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;YAC/D,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBAC5B,OAAO;oBACL,GAAG,KAAK;oBACR,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;oBAClE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC/B,CAAC,CAAC,QAAQ,CAAC,QAAQ;wBACnB,CAAC,CAAC,KAAK,CAAC,QAAQ;oBAClB,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;wBACvC,CAAC,CAAC,QAAQ,CAAC,YAAY;wBACvB,CAAC,CAAC,KAAK,CAAC,YAAY;iBACvB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAA4B,EAAE,MAAM,EAAE,CAAC;QAClD,IAAI,kBAAkB,KAAK,SAAS;YAClC,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC;QAC1C,IAAI,eAAe,KAAK,SAAS;YAC/B,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;QAC1C,IAAI,cAAc,KAAK,SAAS;YAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;QAExE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,2BAA2B,EAC3B,EAAE,KAAK,EAAE,CACV,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,EAAE;iBACnE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC,CACF,CAAC;IAEF,+DAA+D;IAE/D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,mUAAmU,EACnU;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,KAAK,EAAE,CAAC,CAAC,UAAU,CACjB,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACvC,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,CACP,wEAAwE,CACzE;YACH,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACpD,CAAC,CACH;QACD,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,2FAA2F,CAC5F;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6HAA6H,CAC9H;QACH,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CAElC,iBAAiB,CAAC,CAAC;QACtB,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,EAAE,eAAe,IAAI,IAAI,CAAC;QACvE,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,EAAE,gBAAgB,IAAI;YAClE,eAAe;SAChB,CAAC;QAEF,4BAA4B;QAC5B,MAAM,YAAY,GAAuC,EAAE,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,YAAY,CAAC,IAAI,CAAC,GAAG;gBACnB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;aACtD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEvC,IAAI,cAAc,EAAE,CAAC;YACnB,0DAA0D;YAC1D,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAE9D,gDAAgD;YAChD,MAAM,QAAQ,GAAG,oBAAoB;iBAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;iBAC5C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,cAAc,GAAG;gBACrB,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,QAAQ,GAAG,CAAC;gBACnB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,YAAY;gBACZ,eAAe;aAChB,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,GAAG,oBAAoB,EAAE,cAAc,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,2BAA2B,EAC3B,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CACpC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,uDAAuD,MAAM,GAAG;yBACvE;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CACb,QAAQ,EACR,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,EACpD,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAiB,EAAE,UAAU,CAAC,CAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,MAAM,QAAQ,GAAe;gBAC3B,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,YAAY;gBACZ,eAAe;aAChB,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,IACE,QAAQ,KAAK,SAAS;gBACtB,QAAQ,IAAI,CAAC;gBACb,QAAQ,GAAG,MAAM,CAAC,MAAM,EACxB,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,kBAAkB,EAClB;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;oBACxB,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS;oBAC7C,MAAM;oBACN,eAAe,EAAE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC;iBAClD;aACF,CACF,CAAC;YAEF,OAAO,QAAQ,CACb,QAAQ,EACR,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAC5C,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAClD,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,mQAAmQ,EACnQ;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAClE,OAAO,EAAE,CAAC;aACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,qDAAqD;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAClE,MAAM,SAAS,GACb,UAAU,KAAK,CAAC,CAAC;YACf,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;YAC9D,CAAC,CAAC,CAAC,CAAC,CAAC;QAET,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,UAAU,OAAO,8DAA8D;qBACtF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,QAAQ;YAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAEtD,gBAAgB;QAChB,MAAM,aAAa,GAAG,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,IACE,OAAO,WAAW,KAAK,QAAQ;gBAC/B,WAAW,KAAK,IAAI;gBACpB,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,QAAQ;gBACvC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,EAC5B,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,GAAG;oBACpB,GAAI,aAAa,CAAC,IAAI,CAA6B;oBACnD,GAAI,WAAuC;iBAC5C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;YACpC,CAAC;QACH,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC;QAEtC,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,QAAQ,GAAG;gBACvB,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACjC,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;QAEzC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,2BAA2B,EAC3B,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,CACjD,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,gDAAgD,OAAO,cAAc,MAAM,GAAG;yBACrF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACrD,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAC7B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,kBAAkB,EAClB;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;oBACpC,MAAM,EAAE,WAAW;oBACnB,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC;iBACzC;aACF,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7C,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAC7B,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,kcAAkc,EAClc;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,4HAA4H,CAC7H;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,CACP,yHAAyH,CAC1H;QACH,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6HAA6H,CAC9H;QACH,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CACP,2OAA2O,CAC5O;QACH,oEAAoE;QACpE,+DAA+D;QAC/D,qEAAqE;QACrE,8DAA8D;QAC9D,UAAU,EAAE,CAAC,CAAC,UAAU,CACtB,cAAc,EACd,CAAC;aACE,KAAK;QACJ,mEAAmE;QACnE,4DAA4D;QAC5D,iDAAiD;QACjD,CAAC;aACE,kBAAkB,CAAC,IAAI,EAAE;YACxB,CAAC;iBACE,MAAM,CAAC;gBACN,EAAE,EAAE,CAAC;qBACF,OAAO,CAAC,eAAe,CAAC;qBACxB,QAAQ,CAAC,yCAAyC,CAAC;gBACtD,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,CACP,mGAAmG,CACpG;gBACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;aACrD,CAAC;iBACD,MAAM,EAAE;YACX,CAAC;iBACE,MAAM,CAAC;gBACN,EAAE,EAAE,CAAC;qBACF,OAAO,CAAC,cAAc,CAAC;qBACvB,QAAQ,CAAC,wCAAwC,CAAC;gBACrD,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,CACP,mGAAmG,CACpG;gBACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;aACrD,CAAC;iBACD,MAAM,EAAE;YACX,CAAC;iBACE,MAAM,CAAC;gBACN,EAAE,EAAE,CAAC;qBACF,OAAO,CAAC,iBAAiB,CAAC;qBAC1B,QAAQ,CACP,6EAA6E,CAC9E;gBACH,WAAW,EAAE,CAAC;qBACX,MAAM,EAAE;qBACR,QAAQ,CACP,yDAAyD,CAC1D;gBACH,SAAS,EAAE,CAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,CACP,oEAAoE,CACrE;gBACH,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,CAAC,2CAA2C,CAAC;aACzD,CAAC;iBACD,MAAM,EAAE;SACZ,CAAC;aACD,QAAQ,CACP,oGAAoG,CACrG,CACJ;aACA,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,6IAA6I,CAC9I,CACJ;KACF,EACD,KAAK,EAAE,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,EACV,eAAe,GAChB,EAAE,EAAE;QAaH,8DAA8D;QAC9D,gEAAgE;QAChE,oEAAoE;QACpE,8DAA8D;QAC9D,iEAAiE;QACjE,+DAA+D;QAC/D,sEAAsE;QACtE,+BAA+B;QAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,4BAA4B,EAAE;YAC/B,KAAK,EAAE;gBACL,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,UAAU;aACX;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,gCAAgC;qBACvC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,oEAAoE;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,qBAAqB,EACnB,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC;4BAC7C,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC;wBAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,gPAAgP,EAChP;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAClE,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAClE,IAAI,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,kBAAkB,EAClB;gBACE,KAAK,EAAE;oBACL,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;oBACpC,MAAM,EAAE,aAAa;oBACrB,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC;iBACzC;aACF,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7C,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAC7B,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CACxB,CAAC;QACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,2BAA2B,EAC3B,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CACpC,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,iDAAiD,OAAO,gBAAgB,MAAM,GAAG;yBACxF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CACrD,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,OAAO,8DAA8D;iBACtF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gEAAgE;IAEhE,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,yEAAyE,EACzE;QACE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;aACxC,QAAQ,EAAE;aACV,QAAQ,CAAC,uBAAuB,CAAC;QACpC,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,yBAAyB,CAAC;QACtC,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,kCAAkC,CAAC;KAChD,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,WAAW,EAAE;YACd,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACrE;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,UAAU,EACV,qEAAqE,EACrE;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;KACvC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,gBAAgB,EAChB,EAAE,MAAM,EAAE,CACX,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACpE;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,uHAAuH,EACvH;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC/D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC/D,MAAM,EAAE,CAAC;aACN,UAAU,CACT,cAAc,EACd,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC/D,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC;gBACJ,MAAM;gBACN,OAAO;gBACP,UAAU;gBACV,UAAU;gBACV,QAAQ;gBACR,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,aAAa;gBACb,UAAU;gBACV,OAAO;gBACP,MAAM;gBACN,QAAQ;aACT,CAAC;iBACD,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,CAAC;iBACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACrC,CAAC;iBACD,QAAQ,EAAE;YACb,OAAO,EAAE,CAAC;iBACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;gBACnD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACjC,CAAC,CACH;iBACA,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBAC/B,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACrD,CAAC,CACH,CACF;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,wBAAwB,CAAC;QACrC,QAAQ,EAAE,CAAC;aACR,UAAU,CACT,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC9D,QAAQ,EAAE;iBACV,OAAO,CAAC,SAAS,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC/C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC/D,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACpC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACvC,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC7C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5C,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,kDAAkD,CAAC;QAC/D,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChE,MAAM,KAAK,GAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtD,IAAI,WAAW;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACjD,IAAI,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAClC,IAAI,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAExC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAO5B,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,8IAA8I,EAC9I;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACrD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC9D,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;aACxC,QAAQ,EAAE;aACV,QAAQ,CAAC,YAAY,CAAC;QACzB,MAAM,EAAE,CAAC;aACN,UAAU,CACT,cAAc,EACd,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC;gBACJ,MAAM;gBACN,OAAO;gBACP,UAAU;gBACV,UAAU;gBACV,QAAQ;gBACR,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,aAAa;gBACb,UAAU;gBACV,OAAO;gBACP,MAAM;gBACN,QAAQ;aACT,CAAC;iBACD,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACrC,CAAC;iBACD,QAAQ,EAAE;YACb,OAAO,EAAE,CAAC;iBACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;gBACnD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACjC,CAAC,CACH;iBACA,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;YACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACrD,CAAC,CACH,CACF;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,0BAA0B,CAAC;QACvC,QAAQ,EAAE,CAAC;aACR,UAAU,CACT,cAAc,EACd,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC9D,QAAQ,EAAE;YACb,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC/C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC/D,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACrC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACpC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACvC,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC7C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5C,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,kBAAkB,CAAC;QAC/B,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;QACH,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAO5B,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,EAAE;iBACnE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,oDAAoD,EACpD;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACjD,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,oBAAoB,EACpB,EAAE,MAAM,EAAE,CACX,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,UAAU;wBACnB,CAAC,CAAC,2BAA2B;wBAC7B,CAAC,CAAC,uBAAuB;iBAC5B;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,6DAA6D,EAC7D;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC3D,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;aAClD,QAAQ,EAAE;aACV,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KACzC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAM5B,sBAAsB,EAAE;YACzB,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,uCAAuC,EACvC;QACE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;KACnD,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,2BAA2B,EAC3B,EAAE,YAAY,EAAE,CACjB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;iBACnD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B,yEAAyE,EACzE;QACE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAClD,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;aAClD,QAAQ,CAAC,YAAY,CAAC;KAC1B,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,sCAAsC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QACrE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,0BAA0B;wBACnC,CAAC,CAAC,2BAA2B;wBAC7B,CAAC,CAAC,oCAAoC;iBACzC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,uCAAuC,EACvC;QACE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC7D,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,+BAA+B,EAC/B,EAAE,YAAY,EAAE,CACjB,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,oBAAoB;wBAC7B,CAAC,CAAC,iCAAiC;wBACnC,CAAC,CAAC,6BAA6B;iBAClC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gEAAgE;IAEhE,MAAM,kBAAkB,GAAG;QACzB,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,SAAS;QACT,MAAM;QACN,UAAU;QACV,OAAO;QACP,KAAK;QACL,OAAO;QACP,UAAU;QACV,QAAQ;QACR,aAAa;QACb,QAAQ;QACR,MAAM;KACE,CAAC;IAEX,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;IAyBnE,MAAM,mBAAmB,GAAkC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACrE,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACxD,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,kBAAkB,CAAC;aACxB,QAAQ,CAAC,uCAAuC,CAAC;QACpD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,wCAAwC,CAAC;QACrD,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,mBAAmB,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CAAC,gCAAgC,CAAC;QAC7C,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,kBAAkB,CAAC;aACxB,QAAQ,EAAE;aACV,QAAQ,CAAC,0BAA0B,CAAC;QACvC,UAAU,EAAE,CAAC;aACV,KAAK,CAAC,mBAAmB,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CAAC,6CAA6C,CAAC;QAC1D,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sCAAsC,CAAC;QACnD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;QAC9C,aAAa,EAAE,CAAC;aACb,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC9B,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,QAAQ,EAAE,CAAC;aACR,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,WAAW,EAAE,CAAC;aACX,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACxB,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;KACtE,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACnC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC;IAEvC,6DAA6D;IAC7D,MAAM,OAAO,GAAG,mBAAmB,CAAC;IACpC,MAAM,QAAQ,GACZ,kGAAkG,CAAC;IAErG,MAAM,CAAC,IAAI,CACT,aAAa,EACb,iEAAiE,EACjE,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,uBAAuB,CACxB,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,mIAAmI,EACnI;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KAC7D,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrB,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,4BAA4B,EAC5B,EAAE,EAAE,EAAE,QAAQ,EAAE,CACjB,CAAC;YACF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;yBACpD;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,+DAA+D;QAC/D,wDAAwD;QACxD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAE7B,qCAAqC,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,QAAQ,aAAa,EAAE;iBACjE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,4BAA4B,EAC5B,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CACjB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,QAAQ,aAAa,EAAE;iBACjE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,8HAA8H,EAC9H;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzC,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,IAAI,EAAE;aACN,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;aACxB,QAAQ,CAAC,qDAAqD,CAAC;QAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE;QACvE,MAAM,EAAE,CAAC;aACN,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACxD,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,WAAW,EAAE,CAAC;aACX,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC;aAC7C,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EACL,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,GACT,EAAE,EAAE;QACH,MAAM,KAAK,GAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtD,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/D,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAClE,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAM5B,gCAAgC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sNAAsN,EACtN;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;QAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE;QACvE,MAAM,EAAE,CAAC;aACN,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACxD,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE;QACvE,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,KAAK,GAA4B,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI;YAChB,MAAM;YACN,MAAM;YACN,aAAa;YACb,MAAM;YACN,OAAO;YACP,cAAc;YACd,aAAa;YACb,QAAQ;YACR,aAAa;SACL,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAM5B,gCAAgC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;gBAC7D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;IAC3E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sFAAsF,EACtF;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KACzD,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,gCAAgC,EAChC,EAAE,EAAE,EAAE,CACP,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,qBAAqB;wBAC9B,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,wBAAwB;iBAC7B;aACF;YACD,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB;SACrC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,0LAA0L,EAC1L;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1D,MAAM,EAAE,CAAC;aACN,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7D,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,yCAAyC,CAAC;KACvD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,mBAAmB,EAAE;YACtB,OAAO;YACP,MAAM;YACN,KAAK;YACL,MAAM;YACN,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,4BAA4B,EAC5B;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAChD,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,wBAAwB,EACxB,EAAE,EAAE,EAAE,CACP,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBAChD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,0MAA0M,EAC1M;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1D,IAAI,EAAE,CAAC;aACJ,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7D,QAAQ,CAAC,uCAAuC,CAAC;QACpD,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAM9B,4BAA4B,EAAE;YAC/B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;SACrC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,yQAAyQ,EACzQ;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC/C,IAAI,EAAE,CAAC;aACJ,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7D,QAAQ,EAAE;aACV,QAAQ,CAAC,yBAAyB,CAAC;QACtC,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACnD,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,0CAA0C;qBACjD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAOD,IAAI,UAAU,GAAwB,IAAI,CAAC;QAC3C,IAAI,YAAY,GAAwB,IAAI,CAAC;QAE7C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAE3B,4BAA4B,EAAE;gBAC/B,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAChC,CAAC,CAAC;YACH,UAAU,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACnC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;oBAC9D,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,gEAAgE;YAChE,+DAA+D;YAC/D,uDAAuD;YACvD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAE3B,mCAAmC,EAAE;oBACtC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;iBACtB,CAAC,CAAC;gBACH,YAAY,GAAG,GAAG,CAAC,uBAAuB,CAAC;gBAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO;4BACL,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wCACE,cAAc,EAAE,IAAI;wCACpB,OAAO,EACL,0DAA0D;wCAC5D,UAAU;qCACX,EACD,IAAI,EACJ,CAAC,CACF;iCACF;6BACF;4BACD,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;wBAC9D,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oCACE,cAAc,EAAE,IAAI;oCACpB,OAAO,EACL,gEAAgE;oCAClE,UAAU;oCACV,WAAW,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iCACzD,EACD,IAAI,EACJ,CAAC,CACF;6BACF;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,YAAY,IAAI,UAAU,CAAiB,CAAC;QACjE,OAAO,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8BAA8B,EAC9B;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC1D,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,4BAA4B,EAC5B,EAAE,EAAE,EAAE,CACP,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB;wBAC1B,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,yBAAyB;iBAC9B;aACF;YACD,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB;SACjC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gKAAgK,EAChK;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1D,IAAI,EAAE,CAAC;aACJ,UAAU,CACT,cAAc,EACd,CAAC;aACE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;aAChC,GAAG,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAC7C;aACA,QAAQ,CAAC,kDAAkD,CAAC;KAChE,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAK5B,6BAA6B,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gEAAgE;IAEhE,MAAM,CAAC,QAAQ,CACb,SAAS,EACT,iBAAiB,EACjB;QACE,WAAW,EAAE,mDAAmD;QAChE,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAoB,WAAW,CAAC,CAAC;QAChE,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,QAAQ,CACb,WAAW,EACX,mBAAmB,EACnB;QACE,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpD,MAAM,CAAC,KAAK,CACV,uBAAuB,CACxB;YACD,MAAM,CAAC,KAAK,CAAoC,iBAAiB,CAAC;SACnE,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,SAAS,EAAE,aAAa,CAAC,gBAAgB;wBACzC,UAAU,EAAE,UAAU,CAAC,UAAU;qBAClC,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { BlockFieldSchema } from "@cmssy/types";
|
|
2
1
|
export interface BlockData {
|
|
3
2
|
id: string;
|
|
4
3
|
type: string;
|
|
@@ -58,23 +57,11 @@ export interface Page {
|
|
|
58
57
|
pageType: string;
|
|
59
58
|
parentId: string | null;
|
|
60
59
|
order: number;
|
|
60
|
+
/** Monotonic save counter; used as the optimistic-concurrency expectedVersion. */
|
|
61
|
+
version: number;
|
|
61
62
|
createdAt: string;
|
|
62
63
|
updatedAt: string;
|
|
63
64
|
}
|
|
64
|
-
export interface WorkspaceBlock {
|
|
65
|
-
id: string;
|
|
66
|
-
blockType: string;
|
|
67
|
-
name: string;
|
|
68
|
-
description: string | null;
|
|
69
|
-
icon: string;
|
|
70
|
-
category: string;
|
|
71
|
-
layoutPosition: string | null;
|
|
72
|
-
useClient: boolean;
|
|
73
|
-
schemaFields: SchemaField[];
|
|
74
|
-
defaultContent: Record<string, unknown>;
|
|
75
|
-
version: string;
|
|
76
|
-
}
|
|
77
|
-
export type SchemaField = BlockFieldSchema;
|
|
78
65
|
export interface SiteConfig {
|
|
79
66
|
id: string;
|
|
80
67
|
defaultLanguage: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|