@brixter/brix-builder 0.0.1 → 0.0.2

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.
@@ -0,0 +1,2 @@
1
+ export declare function attachPreviewInteractionGuard(document: Document): () => void;
2
+ //# sourceMappingURL=block-preview-interactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-preview-interactions.d.ts","sourceRoot":"","sources":["../../preview/block-preview-interactions.ts"],"names":[],"mappings":"AAsEA,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI,CA0C5E"}
@@ -0,0 +1,88 @@
1
+ import { INTERACTIVE_SELECTOR, isEditorInteractionTarget, isFieldActivationTarget, isPreviewContentInteractiveTarget, syncNeutralizedInteractiveElements, } from './interactive-content.js';
2
+ function markInert(element) {
3
+ if (element.dataset.builderPreviewInert === 'true') {
4
+ return;
5
+ }
6
+ if (element.hasAttribute('tabindex')) {
7
+ element.dataset.builderPreviewInertTabindex = element.getAttribute('tabindex') ?? '';
8
+ }
9
+ element.dataset.builderPreviewInert = 'true';
10
+ element.setAttribute('tabindex', '-1');
11
+ element.setAttribute('aria-disabled', 'true');
12
+ }
13
+ function syncInertInteractiveElements(root) {
14
+ syncNeutralizedInteractiveElements(root);
15
+ for (const element of root.querySelectorAll(INTERACTIVE_SELECTOR)) {
16
+ if (!element.closest('[data-builder-preview-content]')) {
17
+ continue;
18
+ }
19
+ markInert(element);
20
+ }
21
+ }
22
+ function blockInteractiveAction(event) {
23
+ const target = event.target;
24
+ if (!(target instanceof Element) || !isPreviewContentInteractiveTarget(target)) {
25
+ return;
26
+ }
27
+ if (isEditorInteractionTarget(target)) {
28
+ return;
29
+ }
30
+ if (event.type === 'mousedown' && isFieldActivationTarget(target)) {
31
+ return;
32
+ }
33
+ event.preventDefault();
34
+ event.stopPropagation();
35
+ }
36
+ function blockInteractiveKeydown(event) {
37
+ if (event.key !== 'Enter' && event.key !== ' ') {
38
+ return;
39
+ }
40
+ const target = event.target;
41
+ if (!(target instanceof Element) || !isPreviewContentInteractiveTarget(target)) {
42
+ return;
43
+ }
44
+ if (isEditorInteractionTarget(target)) {
45
+ return;
46
+ }
47
+ event.preventDefault();
48
+ event.stopPropagation();
49
+ }
50
+ export function attachPreviewInteractionGuard(document) {
51
+ document.body.setAttribute('data-builder-preview-canvas', 'true');
52
+ syncInertInteractiveElements(document);
53
+ const observer = new MutationObserver((records) => {
54
+ for (const record of records) {
55
+ if (record.type === 'childList') {
56
+ for (const node of record.addedNodes) {
57
+ if (node instanceof HTMLElement) {
58
+ syncInertInteractiveElements(node);
59
+ }
60
+ }
61
+ continue;
62
+ }
63
+ if (record.type === 'attributes' && record.target instanceof HTMLElement) {
64
+ syncInertInteractiveElements(record.target);
65
+ }
66
+ }
67
+ });
68
+ observer.observe(document.body, {
69
+ attributes: true,
70
+ attributeFilter: ['href', 'role', 'type', 'for', 'data-builder-field-enhanced'],
71
+ childList: true,
72
+ subtree: true,
73
+ });
74
+ const events = ['click', 'auxclick', 'mousedown', 'pointerdown', 'submit'];
75
+ for (const type of events) {
76
+ document.addEventListener(type, blockInteractiveAction, true);
77
+ }
78
+ document.addEventListener('keydown', blockInteractiveKeydown, true);
79
+ return () => {
80
+ observer.disconnect();
81
+ for (const type of events) {
82
+ document.removeEventListener(type, blockInteractiveAction, true);
83
+ }
84
+ document.removeEventListener('keydown', blockInteractiveKeydown, true);
85
+ document.body.removeAttribute('data-builder-preview-canvas');
86
+ };
87
+ }
88
+ //# sourceMappingURL=block-preview-interactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-preview-interactions.js","sourceRoot":"","sources":["../../preview/block-preview-interactions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { BuilderRenderDefinition } from '../editor/contracts.js';
2
+ import { type BuilderBlock, type BuilderRichTextValue } from '../core.js';
3
+ export declare function attachPreviewEditableFields(node: HTMLElement, params: {
4
+ block: BuilderBlock;
5
+ definition: BuilderRenderDefinition;
6
+ previewProps: Record<string, unknown>;
7
+ active: boolean;
8
+ onUpdateRichText: (path: string, value: BuilderRichTextValue) => void;
9
+ onUpdateText: (path: string, value: string) => void;
10
+ onQueueFileEdit: (path: string) => void;
11
+ onCloseFieldEdit: () => void;
12
+ onFocusField: (path: string, caretOffset: number | null) => void;
13
+ focusPath?: string | null;
14
+ caretOffset?: number | null;
15
+ }): {
16
+ update: (nextParams: typeof params) => void;
17
+ destroy: () => void;
18
+ };
19
+ //# sourceMappingURL=enhance-editable-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhance-editable-fields.d.ts","sourceRoot":"","sources":["../../preview/enhance-editable-fields.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAKN,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAGzB,MAAM,YAAY,CAAC;AAsDpB,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE;IACP,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,uBAAuB,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACtE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GACC;IACF,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,MAAM,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB,CAgqBA"}
@@ -0,0 +1,853 @@
1
+ import { mount, unmount } from 'svelte';
2
+ import PreviewTextEditor from '../editor/PreviewTextEditor.svelte';
3
+ import RichTextEditor from '../editor/RichTextEditor.svelte';
4
+ import PreviewImageEditor from '../editor/PreviewImageEditor.svelte';
5
+ import PreviewIconEditor from '../editor/PreviewIconEditor.svelte';
6
+ import { createRichTextValue, getValueAtPath, isRichTextValue, getFallbackText } from '../core.js';
7
+ import { materializeFieldPath } from '../preview-dom.js';
8
+ import { isInteractiveFieldHost, neutralizeInteractiveElement, } from './interactive-content.js';
9
+ import { describeFieldElement, logFieldEditEvent } from './field-edit-debug.js';
10
+ let globalSuppressBlurClose = false;
11
+ function clearPreviewFieldChrome(element) {
12
+ element.removeAttribute('data-builder-placeholder');
13
+ element.removeAttribute('data-builder-placeholder-active');
14
+ element.removeAttribute('data-builder-icon-empty');
15
+ if (element.dataset.builderPreviewMinWidth === 'true') {
16
+ element.style.removeProperty('min-width');
17
+ delete element.dataset.builderPreviewMinWidth;
18
+ }
19
+ }
20
+ function restoreNeutralizedInteractiveElement(element) {
21
+ if (element.dataset.builderPreviewNeutralized !== 'true') {
22
+ return;
23
+ }
24
+ for (const attribute of ['href', 'target', 'download']) {
25
+ const datasetKey = `builderPreview${attribute[0].toUpperCase()}${attribute.slice(1)}`;
26
+ const value = element.dataset[datasetKey];
27
+ if (value == null) {
28
+ continue;
29
+ }
30
+ element.setAttribute(attribute, value);
31
+ delete element.dataset[datasetKey];
32
+ }
33
+ delete element.dataset.builderPreviewNeutralized;
34
+ }
35
+ export function attachPreviewEditableFields(node, params) {
36
+ let currentParams = params;
37
+ const mounts = new Map();
38
+ const mutationObserver = new MutationObserver((mutations) => {
39
+ if (mutations.every((mutation) => isEditorInternalMutation(mutation.target))) {
40
+ return;
41
+ }
42
+ void refreshSoon();
43
+ });
44
+ let refreshQueued = false;
45
+ let suppressBlurClose = false;
46
+ mutationObserver.observe(node, { childList: true, subtree: true, attributes: true });
47
+ refreshNow();
48
+ function refreshSoon() {
49
+ if (refreshQueued) {
50
+ return;
51
+ }
52
+ refreshQueued = true;
53
+ requestAnimationFrame(() => {
54
+ refreshQueued = false;
55
+ refreshNow();
56
+ });
57
+ }
58
+ function refreshNow() {
59
+ node.toggleAttribute('data-builder-editing', currentParams.active);
60
+ if (!currentParams.active) {
61
+ teardownAll();
62
+ }
63
+ const blockRoot = getBlockRoot(node);
64
+ const fields = Array.from(node.querySelectorAll('[data-builder-field]'));
65
+ const liveFields = new Set(fields);
66
+ const focusPath = currentParams.focusPath ?? null;
67
+ for (const [element, state] of Array.from(mounts.entries())) {
68
+ if (!liveFields.has(element) || !node.contains(element)) {
69
+ teardownField(element);
70
+ continue;
71
+ }
72
+ if (state.instance && state.kind !== 'image' && state.kind !== 'icon' && (state.path !== focusPath || !hasEditorHost(element))) {
73
+ teardownField(element);
74
+ }
75
+ if (state.instance && state.kind === 'icon') {
76
+ const isFocused = state.path === focusPath;
77
+ if (!isFocused && typeof state.instance.close === 'function') {
78
+ state.instance.close();
79
+ }
80
+ }
81
+ }
82
+ for (const element of fields) {
83
+ const rawPath = element.getAttribute('data-builder-field');
84
+ if (!rawPath) {
85
+ continue;
86
+ }
87
+ const path = resolveFieldPath(element, blockRoot);
88
+ if (!path) {
89
+ continue;
90
+ }
91
+ if (!currentParams.active) {
92
+ if (isInteractiveFieldHost(element)) {
93
+ restoreNeutralizedInteractiveElement(element);
94
+ }
95
+ clearPreviewFieldChrome(element);
96
+ continue;
97
+ }
98
+ if (isInteractiveFieldHost(element)) {
99
+ neutralizeInteractiveElement(element);
100
+ }
101
+ const fieldDef = getFieldByRawPath(currentParams.definition.fields, rawPath);
102
+ const defaultValue = fieldDef?.default ?? getValueAtPath(currentParams.definition.defaults, path);
103
+ let defaultString = resolveDefaultText(defaultValue);
104
+ if (!defaultString) {
105
+ defaultString = element.getAttribute('data-builder-default') ||
106
+ (fieldDef ? getFallbackText(rawPath.split('.').at(-1) || '') : '');
107
+ }
108
+ let plainDefaultString = defaultString.replace(/<[^>]*>/g, '').trim();
109
+ if (resolveFieldKind(element) === 'icon') {
110
+ plainDefaultString = '';
111
+ }
112
+ if (plainDefaultString) {
113
+ element.setAttribute('data-builder-placeholder', plainDefaultString);
114
+ }
115
+ else {
116
+ element.removeAttribute('data-builder-placeholder');
117
+ }
118
+ const rawValue = getValueAtPath(currentParams.previewProps, path);
119
+ const isEmpty = rawValue === undefined || rawValue === '' || (isRichTextValue(rawValue) && !rawValue.html.trim());
120
+ const isEditing = path === focusPath || element.dataset.builderFieldEnhanced === 'true';
121
+ if (isEditing) {
122
+ element.removeAttribute('data-builder-placeholder-active');
123
+ }
124
+ else {
125
+ element.toggleAttribute('data-builder-placeholder-active', isEmpty);
126
+ }
127
+ if (resolveFieldKind(element) === 'icon' && isEmpty) {
128
+ element.setAttribute('data-builder-icon-empty', 'true');
129
+ const placeholderSvg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus-circle" style="width: 100%; height: 100%; opacity: 0.4; stroke-dasharray: 4 4;"><circle cx="12" cy="12" r="10"/><path d="M8 12h8"/><path d="M12 8v8"/></svg>`;
130
+ if (element.innerHTML.trim() !== placeholderSvg) {
131
+ element.innerHTML = placeholderSvg;
132
+ }
133
+ }
134
+ else if (resolveFieldKind(element) === 'icon') {
135
+ element.removeAttribute('data-builder-icon-empty');
136
+ }
137
+ if (isInteractiveFieldHost(element) &&
138
+ isEmpty &&
139
+ resolveFieldKind(element) === 'text') {
140
+ syncInteractiveHostMinWidth(element, plainDefaultString || element.getAttribute('data-builder-placeholder') || '');
141
+ }
142
+ else if (element.dataset.builderPreviewMinWidth === 'true') {
143
+ element.style.removeProperty('min-width');
144
+ delete element.dataset.builderPreviewMinWidth;
145
+ }
146
+ if (!currentParams.active) {
147
+ continue;
148
+ }
149
+ const kind = resolveFieldKind(element);
150
+ const existing = mounts.get(element);
151
+ if (path === focusPath || kind === 'image' || kind === 'icon') {
152
+ if (!existing?.instance || !hasEditorHost(element)) {
153
+ if (existing) {
154
+ teardownField(element);
155
+ }
156
+ setupField(element, blockRoot);
157
+ }
158
+ continue;
159
+ }
160
+ if (existing?.instance) {
161
+ teardownField(element);
162
+ }
163
+ if (!mounts.has(element)) {
164
+ setupPendingField(element, path);
165
+ }
166
+ }
167
+ }
168
+ function hasEditorHost(element) {
169
+ const kind = resolveFieldKind(element);
170
+ if (kind === 'image' || kind === 'icon') {
171
+ return Boolean(element.nextElementSibling?.classList.contains('builder-preview-field-editor'));
172
+ }
173
+ return Boolean(element.querySelector('.builder-preview-field-editor'));
174
+ }
175
+ function resolveFieldPath(element, blockRoot) {
176
+ const rawPath = element.getAttribute('data-builder-field');
177
+ if (!rawPath) {
178
+ return null;
179
+ }
180
+ return materializeFieldPath(rawPath, blockRoot, element);
181
+ }
182
+ function setupPendingField(element, path) {
183
+ const kind = resolveFieldKind(element);
184
+ element.dataset.builderFieldEnhanced = 'pending';
185
+ element.style.cursor = (kind === 'image' || kind === 'icon') ? 'pointer' : 'text';
186
+ const handleClick = (event) => {
187
+ logFieldEditEvent('pending-mousedown', 'activate requested', {
188
+ path,
189
+ eventType: event.type,
190
+ ...describeFieldElement(element),
191
+ target: describeFieldElement(event.target instanceof Element ? event.target : null)
192
+ });
193
+ event.stopPropagation();
194
+ activateField(element, path, event);
195
+ };
196
+ element.addEventListener('mousedown', handleClick, true);
197
+ mounts.set(element, {
198
+ path,
199
+ kind: 'pending',
200
+ element,
201
+ instance: null,
202
+ cleanup: () => {
203
+ element.removeEventListener('mousedown', handleClick, true);
204
+ element.style.removeProperty('cursor');
205
+ delete element.dataset.builderFieldEnhanced;
206
+ }
207
+ });
208
+ }
209
+ function activateField(element, path, event) {
210
+ logFieldEditEvent('activate', 'start', {
211
+ path,
212
+ caretOffset: event ? getClickCaretOffset(element, event) : null,
213
+ coords: getClickCoords(event),
214
+ ...describeFieldElement(element)
215
+ });
216
+ suppressBlurClose = true;
217
+ globalSuppressBlurClose = true;
218
+ const clickCoords = getClickCoords(event);
219
+ const caretOffset = event ? getClickCaretOffset(element, event) : null;
220
+ currentParams = { ...currentParams, focusPath: path, caretOffset };
221
+ currentParams.onFocusField(path, caretOffset);
222
+ const existing = mounts.get(element);
223
+ if (existing?.instance && existing.path === path) {
224
+ focusMountedField(path, clickCoords, caretOffset);
225
+ releaseBlurSuppression();
226
+ return;
227
+ }
228
+ for (const [otherElement, state] of Array.from(mounts.entries())) {
229
+ if (otherElement !== element && state.instance) {
230
+ teardownField(otherElement);
231
+ }
232
+ }
233
+ if (existing) {
234
+ teardownField(element, { restorePending: false });
235
+ }
236
+ setupField(element, getBlockRoot(node), clickCoords);
237
+ releaseBlurSuppression();
238
+ }
239
+ function releaseBlurSuppression() {
240
+ requestAnimationFrame(() => {
241
+ requestAnimationFrame(() => {
242
+ suppressBlurClose = false;
243
+ globalSuppressBlurClose = false;
244
+ });
245
+ });
246
+ }
247
+ function getPreviewRoot(doc) {
248
+ return doc.getElementById('builder-preview-root') ?? doc.body;
249
+ }
250
+ function scheduleBlurClose() {
251
+ setTimeout(() => {
252
+ if (suppressBlurClose || globalSuppressBlurClose) {
253
+ return;
254
+ }
255
+ const doc = node.ownerDocument;
256
+ const active = doc.activeElement;
257
+ const previewRoot = getPreviewRoot(doc);
258
+ if (isEditableElement(active) && previewRoot.contains(active)) {
259
+ return;
260
+ }
261
+ currentParams.onCloseFieldEdit();
262
+ }, 0);
263
+ }
264
+ function isEditableElement(element) {
265
+ if (!element) {
266
+ return false;
267
+ }
268
+ return Boolean(element.closest('.builder-preview-field-editor, .ProseMirror, .builder-preview-text-editor, [data-builder-field-enhanced="pending"]'));
269
+ }
270
+ function setupField(element, blockRoot, clickCoords = null) {
271
+ const path = resolveFieldPath(element, blockRoot);
272
+ if (!path) {
273
+ return;
274
+ }
275
+ const kind = resolveFieldKind(element);
276
+ const useHostInlineTextEditor = kind === 'text' && isInteractiveFieldHost(element);
277
+ const multiline = kind === 'text' && !useHostInlineTextEditor && inferMultiline(element);
278
+ element.removeAttribute('data-builder-placeholder-active');
279
+ element.dataset.builderFieldEnhanced = 'true';
280
+ element.style.cursor = (kind === 'image' || kind === 'icon') ? 'pointer' : 'text';
281
+ const placeholder = element.getAttribute('data-builder-placeholder') || '';
282
+ const hostWidth = element.offsetWidth;
283
+ const placeholderWidth = measurePlaceholderWidth(element, placeholder);
284
+ if (useHostInlineTextEditor) {
285
+ element.style.setProperty('--builder-preview-field-text-color', resolveInteractiveFieldTextColor(element));
286
+ }
287
+ const fieldStyle = captureFieldEditorStyle(element, {
288
+ includeMinHeight: kind !== 'text' || multiline || !isInteractiveFieldHost(element),
289
+ omitColor: useHostInlineTextEditor,
290
+ forceLineHeightMin: useHostInlineTextEditor
291
+ });
292
+ if (!useHostInlineTextEditor && fieldStyle.includes('color:')) {
293
+ const colorMatch = fieldStyle.match(/color:([^;]+)/);
294
+ if (colorMatch?.[1]) {
295
+ element.style.setProperty('--builder-preview-field-text-color', colorMatch[1].trim());
296
+ }
297
+ }
298
+ if (useHostInlineTextEditor) {
299
+ element.style.minWidth = `${Math.max(hostWidth, placeholderWidth)}px`;
300
+ element.dataset.builderPreviewMinWidth = 'true';
301
+ }
302
+ const mountHost = element.ownerDocument.createElement('div');
303
+ mountHost.className = 'builder-preview-field-editor';
304
+ mountHost.style.cursor = kind === 'image' || kind === 'icon' ? 'default' : 'text';
305
+ if (kind === 'image' || kind === 'icon') {
306
+ element.parentNode?.insertBefore(mountHost, element.nextSibling);
307
+ }
308
+ else {
309
+ element.replaceChildren(mountHost);
310
+ }
311
+ const value = getValueAtPath(currentParams.previewProps, path);
312
+ const shouldFocus = currentParams.focusPath === path;
313
+ let instance;
314
+ if (kind === 'icon') {
315
+ instance = mount(PreviewIconEditor, {
316
+ target: mountHost,
317
+ props: {
318
+ element: element,
319
+ onPick: () => currentParams.onQueueFileEdit(path),
320
+ onRemove: () => {
321
+ currentParams.onUpdateText(path, '');
322
+ currentParams.onCloseFieldEdit();
323
+ },
324
+ onFocus: () => {
325
+ currentParams.onFocusField(path, null);
326
+ },
327
+ onBlur: () => {
328
+ if (currentParams.focusPath === path) {
329
+ currentParams.onCloseFieldEdit();
330
+ }
331
+ }
332
+ }
333
+ });
334
+ }
335
+ else if (kind === 'image') {
336
+ instance = mount(PreviewImageEditor, {
337
+ target: mountHost,
338
+ props: {
339
+ element: element,
340
+ onPick: () => currentParams.onQueueFileEdit(path),
341
+ onRemove: () => {
342
+ currentParams.onUpdateText(path, '');
343
+ currentParams.onCloseFieldEdit();
344
+ },
345
+ onBlur: () => {
346
+ if (currentParams.focusPath === path) {
347
+ currentParams.onCloseFieldEdit();
348
+ }
349
+ }
350
+ }
351
+ });
352
+ }
353
+ else if (kind === 'richtext') {
354
+ const richValue = coerceRichTextValue(value, element);
355
+ instance = mount(RichTextEditor, {
356
+ target: mountHost,
357
+ props: {
358
+ value: richValue,
359
+ placeholder,
360
+ mode: richValue.mode,
361
+ chrome: 'inline',
362
+ autofocus: shouldFocus,
363
+ initialCaretOffset: shouldFocus ? (currentParams.caretOffset ?? null) : null,
364
+ initialClickCoords: shouldFocus ? clickCoords : null,
365
+ editorStyle: fieldStyle,
366
+ onChange: (nextValue) => currentParams.onUpdateRichText(path, nextValue),
367
+ onBlur: () => scheduleBlurClose()
368
+ }
369
+ });
370
+ }
371
+ else if (useHostInlineTextEditor) {
372
+ const textValue = asPlainText(value);
373
+ const richValue = createRichTextValue('inline', textValue);
374
+ instance = mount(RichTextEditor, {
375
+ target: mountHost,
376
+ props: {
377
+ value: richValue,
378
+ mode: 'inline',
379
+ placeholder,
380
+ chrome: 'inline',
381
+ plainTextOnly: true,
382
+ hostInline: true,
383
+ autofocus: shouldFocus,
384
+ initialCaretOffset: shouldFocus ? (currentParams.caretOffset ?? null) : null,
385
+ initialClickCoords: shouldFocus ? clickCoords : null,
386
+ editorStyle: fieldStyle,
387
+ onChange: (nextValue) => {
388
+ const plain = plainTextFromInlineRichHtml(nextValue.html, element.ownerDocument);
389
+ if (plain.trim()) {
390
+ element.removeAttribute('data-builder-placeholder-active');
391
+ }
392
+ currentParams.onUpdateText(path, plain);
393
+ },
394
+ onBlur: () => scheduleBlurClose()
395
+ }
396
+ });
397
+ }
398
+ else {
399
+ const textValue = asPlainText(value);
400
+ instance = mount(PreviewTextEditor, {
401
+ target: mountHost,
402
+ props: {
403
+ value: textValue,
404
+ placeholder,
405
+ multiline,
406
+ inline: false,
407
+ textStyle: fieldStyle,
408
+ autofocus: shouldFocus,
409
+ initialCaretOffset: shouldFocus ? (currentParams.caretOffset ?? null) : null,
410
+ initialClickCoords: shouldFocus ? clickCoords : null,
411
+ onChange: (nextValue) => {
412
+ if (nextValue.trim()) {
413
+ element.removeAttribute('data-builder-placeholder-active');
414
+ }
415
+ currentParams.onUpdateText(path, nextValue);
416
+ },
417
+ onBlur: () => scheduleBlurClose()
418
+ }
419
+ });
420
+ }
421
+ mounts.set(element, {
422
+ path,
423
+ kind,
424
+ element,
425
+ instance,
426
+ cleanup: () => {
427
+ element.style.removeProperty('cursor');
428
+ element.style.removeProperty('--builder-preview-field-text-color');
429
+ if (element.dataset.builderPreviewMinWidth === 'true') {
430
+ element.style.removeProperty('min-width');
431
+ delete element.dataset.builderPreviewMinWidth;
432
+ }
433
+ }
434
+ });
435
+ }
436
+ function focusMountedField(path, clickCoords, caretOffset) {
437
+ for (const state of mounts.values()) {
438
+ if (state.path !== path || !state.instance) {
439
+ continue;
440
+ }
441
+ if (state.kind === 'text') {
442
+ const proseMirror = state.element.querySelector('.ProseMirror');
443
+ const input = state.element.querySelector('.builder-preview-text-editor');
444
+ const editorEl = proseMirror ?? input;
445
+ if (!editorEl) {
446
+ return;
447
+ }
448
+ editorEl.focus();
449
+ if (clickCoords && proseMirror) {
450
+ return;
451
+ }
452
+ if (clickCoords) {
453
+ const doc = editorEl.ownerDocument;
454
+ const range = doc.caretRangeFromPoint?.(clickCoords.left, clickCoords.top) ??
455
+ (() => {
456
+ const pos = doc.caretPositionFromPoint?.(clickCoords.left, clickCoords.top);
457
+ if (!pos) {
458
+ return null;
459
+ }
460
+ const nextRange = doc.createRange();
461
+ nextRange.setStart(pos.offsetNode, pos.offset);
462
+ nextRange.collapse(true);
463
+ return nextRange;
464
+ })();
465
+ if (range && editorEl.contains(range.startContainer)) {
466
+ const selection = doc.getSelection();
467
+ selection?.removeAllRanges();
468
+ selection?.addRange(range);
469
+ return;
470
+ }
471
+ }
472
+ if (proseMirror || caretOffset == null || !input) {
473
+ return;
474
+ }
475
+ if (caretOffset != null) {
476
+ const doc = input.ownerDocument;
477
+ const selection = doc.getSelection();
478
+ if (!selection) {
479
+ return;
480
+ }
481
+ const walker = doc.createTreeWalker(input, NodeFilter.SHOW_TEXT);
482
+ let remaining = caretOffset;
483
+ while (walker.nextNode()) {
484
+ const textNode = walker.currentNode;
485
+ if (remaining <= textNode.length) {
486
+ const range = doc.createRange();
487
+ range.setStart(textNode, remaining);
488
+ range.collapse(true);
489
+ selection.removeAllRanges();
490
+ selection.addRange(range);
491
+ return;
492
+ }
493
+ remaining -= textNode.length;
494
+ }
495
+ }
496
+ return;
497
+ }
498
+ if (state.kind === 'richtext') {
499
+ const proseMirror = state.element.querySelector('.ProseMirror');
500
+ if (!proseMirror) {
501
+ return;
502
+ }
503
+ proseMirror.focus();
504
+ if (clickCoords) {
505
+ const doc = proseMirror.ownerDocument;
506
+ const range = doc.caretRangeFromPoint?.(clickCoords.left, clickCoords.top) ??
507
+ (() => {
508
+ const pos = doc.caretPositionFromPoint?.(clickCoords.left, clickCoords.top);
509
+ if (!pos) {
510
+ return null;
511
+ }
512
+ const nextRange = doc.createRange();
513
+ nextRange.setStart(pos.offsetNode, pos.offset);
514
+ nextRange.collapse(true);
515
+ return nextRange;
516
+ })();
517
+ if (range && proseMirror.contains(range.startContainer)) {
518
+ const selection = doc.getSelection();
519
+ selection?.removeAllRanges();
520
+ selection?.addRange(range);
521
+ }
522
+ }
523
+ return;
524
+ }
525
+ }
526
+ }
527
+ function teardownField(element, options = {}) {
528
+ const state = mounts.get(element);
529
+ if (!state) {
530
+ return;
531
+ }
532
+ if (state.instance) {
533
+ void unmount(state.instance);
534
+ if (state.kind === 'image' || state.kind === 'icon') {
535
+ const nextSibling = state.element.nextElementSibling;
536
+ if (nextSibling?.classList.contains('builder-preview-field-editor')) {
537
+ nextSibling.remove();
538
+ }
539
+ }
540
+ }
541
+ state.cleanup?.();
542
+ if (state.instance) {
543
+ if (state.kind !== 'image' && state.kind !== 'icon' && state.kind !== 'pending') {
544
+ const value = getValueAtPath(currentParams.previewProps, state.path);
545
+ const defaultValue = element.getAttribute('data-builder-placeholder') || '';
546
+ restoreElementContent(state.element, value, state.kind, defaultValue);
547
+ }
548
+ }
549
+ delete state.element.dataset.builderFieldEnhanced;
550
+ mounts.delete(element);
551
+ if (options.restorePending === false || !currentParams.active) {
552
+ return;
553
+ }
554
+ const blockRoot = getBlockRoot(node);
555
+ const path = resolveFieldPath(element, blockRoot);
556
+ const focusPath = currentParams.focusPath ?? null;
557
+ if (!path || path === focusPath) {
558
+ return;
559
+ }
560
+ setupPendingField(element, path);
561
+ }
562
+ function teardownAll() {
563
+ for (const element of Array.from(mounts.keys())) {
564
+ teardownField(element, { restorePending: false });
565
+ }
566
+ }
567
+ function editingContextChanged(nextParams) {
568
+ return (currentParams.active !== nextParams.active ||
569
+ currentParams.block.id !== nextParams.block.id ||
570
+ currentParams.definition !== nextParams.definition ||
571
+ currentParams.focusPath !== nextParams.focusPath ||
572
+ currentParams.caretOffset !== nextParams.caretOffset);
573
+ }
574
+ return {
575
+ update(nextParams) {
576
+ const shouldRefresh = editingContextChanged(nextParams);
577
+ currentParams = nextParams;
578
+ if (!shouldRefresh) {
579
+ return;
580
+ }
581
+ refreshNow();
582
+ },
583
+ destroy() {
584
+ mutationObserver.disconnect();
585
+ teardownAll();
586
+ node.removeAttribute('data-builder-editing');
587
+ }
588
+ };
589
+ }
590
+ function getBlockRoot(node) {
591
+ return node.closest('[data-builder-preview-block]') ?? node;
592
+ }
593
+ function resolveFieldKind(element) {
594
+ const builderKind = element.getAttribute('data-builder-kind');
595
+ if (builderKind === 'icon') {
596
+ return 'icon';
597
+ }
598
+ if (builderKind === 'richtext-inline' || builderKind === 'richtext-block') {
599
+ return 'richtext';
600
+ }
601
+ if (element.tagName.toLowerCase() === 'img') {
602
+ return 'image';
603
+ }
604
+ return 'text';
605
+ }
606
+ function coerceRichTextValue(value, element) {
607
+ if (isRichTextValue(value)) {
608
+ return value;
609
+ }
610
+ const builderKind = element.getAttribute('data-builder-kind');
611
+ const mode = builderKind === 'richtext-block' ? 'block' : 'inline';
612
+ return createRichTextValue(mode, asPlainText(value));
613
+ }
614
+ function asPlainText(value) {
615
+ if (typeof value === 'string') {
616
+ return value;
617
+ }
618
+ if (isRichTextValue(value)) {
619
+ return value.html;
620
+ }
621
+ return value == null ? '' : String(value);
622
+ }
623
+ function inferMultiline(element) {
624
+ if (isInteractiveFieldHost(element)) {
625
+ return false;
626
+ }
627
+ const tagName = element.tagName.toLowerCase();
628
+ if (tagName === 'textarea' || tagName === 'p') {
629
+ return true;
630
+ }
631
+ const computed = element.ownerDocument.defaultView?.getComputedStyle(element);
632
+ if (!computed) {
633
+ return false;
634
+ }
635
+ const lineHeight = Number.parseFloat(computed.lineHeight);
636
+ const height = element.getBoundingClientRect().height;
637
+ return height > (Number.isFinite(lineHeight) ? lineHeight * 1.5 : 32);
638
+ }
639
+ function plainTextFromInlineRichHtml(html, doc) {
640
+ const trimmed = html.trim();
641
+ if (!trimmed || trimmed === '<p></p>') {
642
+ return '';
643
+ }
644
+ const paragraphMatch = trimmed.match(/^<p>([\s\S]*)<\/p>$/);
645
+ const inner = paragraphMatch ? paragraphMatch[1] : trimmed;
646
+ const container = doc.createElement('div');
647
+ container.innerHTML = inner;
648
+ return (container.textContent ?? '').replace(/\u00a0/g, ' ');
649
+ }
650
+ function measurePlaceholderWidth(element, placeholder) {
651
+ const text = placeholder.trim();
652
+ if (!text) {
653
+ return 0;
654
+ }
655
+ const doc = element.ownerDocument;
656
+ const view = doc.defaultView;
657
+ if (!view) {
658
+ return 0;
659
+ }
660
+ const probe = doc.createElement('span');
661
+ probe.textContent = text;
662
+ probe.style.visibility = 'hidden';
663
+ probe.style.position = 'absolute';
664
+ probe.style.whiteSpace = 'nowrap';
665
+ probe.style.pointerEvents = 'none';
666
+ const computed = view.getComputedStyle(element);
667
+ probe.style.font = computed.font;
668
+ probe.style.letterSpacing = computed.letterSpacing;
669
+ probe.style.textTransform = computed.textTransform;
670
+ doc.body.appendChild(probe);
671
+ const width = probe.offsetWidth;
672
+ probe.remove();
673
+ return width;
674
+ }
675
+ function syncInteractiveHostMinWidth(element, placeholder) {
676
+ const placeholderWidth = measurePlaceholderWidth(element, placeholder);
677
+ const hostWidth = element.offsetWidth;
678
+ const minWidth = Math.max(hostWidth, placeholderWidth);
679
+ if (minWidth > 0) {
680
+ element.style.minWidth = `${minWidth}px`;
681
+ element.dataset.builderPreviewMinWidth = 'true';
682
+ return;
683
+ }
684
+ if (element.dataset.builderPreviewMinWidth === 'true') {
685
+ element.style.removeProperty('min-width');
686
+ delete element.dataset.builderPreviewMinWidth;
687
+ }
688
+ }
689
+ function resolveInteractiveFieldTextColor(element) {
690
+ const doc = element.ownerDocument;
691
+ const view = doc.defaultView;
692
+ if (!view) {
693
+ return 'currentColor';
694
+ }
695
+ const clone = doc.createElement(element.tagName.toLowerCase());
696
+ for (const className of element.classList) {
697
+ clone.classList.add(className);
698
+ }
699
+ clone.textContent = '\u00a0';
700
+ clone.style.visibility = 'hidden';
701
+ clone.style.position = 'absolute';
702
+ clone.style.pointerEvents = 'none';
703
+ doc.body.appendChild(clone);
704
+ const color = view.getComputedStyle(clone).color;
705
+ clone.remove();
706
+ return isPlaceholderTone(color) ? 'currentColor' : color;
707
+ }
708
+ function restoreElementContent(element, value, kind, defaultValue = '') {
709
+ if (kind === 'richtext') {
710
+ const html = isRichTextValue(value) ? value.html : asPlainText(value);
711
+ element.innerHTML = html.trim() ? html : (defaultValue ? `<p>${defaultValue}</p>` : '');
712
+ return;
713
+ }
714
+ if (kind === 'text') {
715
+ const text = asPlainText(value);
716
+ if (!text.trim() && isInteractiveFieldHost(element)) {
717
+ element.textContent = '';
718
+ return;
719
+ }
720
+ element.textContent = text.trim() ? text : defaultValue;
721
+ return;
722
+ }
723
+ if (kind === 'image' && typeof value === 'string') {
724
+ element.src = value;
725
+ }
726
+ }
727
+ function captureFieldEditorStyle(element, options = {}) {
728
+ const includeMinHeight = options.includeMinHeight ?? true;
729
+ const omitColor = options.omitColor ?? false;
730
+ const forceLineHeightMin = options.forceLineHeightMin ?? false;
731
+ const view = element.ownerDocument.defaultView;
732
+ if (!view) {
733
+ return '';
734
+ }
735
+ const computed = view.getComputedStyle(element);
736
+ const height = element.offsetHeight;
737
+ const color = omitColor ? null : resolveFieldEditorColor(element, computed.color);
738
+ const styles = [
739
+ `font-family:${computed.fontFamily}`,
740
+ `font-size:${computed.fontSize}`,
741
+ `font-weight:${computed.fontWeight}`,
742
+ `font-style:${computed.fontStyle}`,
743
+ `line-height:${computed.lineHeight}`,
744
+ `letter-spacing:${computed.letterSpacing}`,
745
+ `text-transform:${computed.textTransform}`,
746
+ `text-align:${computed.textAlign}`,
747
+ color ? `color:${color}` : '',
748
+ `font-variant:${computed.fontVariant}`,
749
+ `font-stretch:${computed.fontStretch}`,
750
+ `word-spacing:${computed.wordSpacing}`,
751
+ `white-space:${computed.whiteSpace}`,
752
+ height > 0 && includeMinHeight ? `min-height:${height}px` : '',
753
+ forceLineHeightMin ? `min-height:${computed.lineHeight}` : ''
754
+ ];
755
+ return styles.filter(Boolean).join(';');
756
+ }
757
+ function resolveFieldEditorColor(element, color) {
758
+ if (!isInteractiveFieldHost(element) || !isPlaceholderTone(color)) {
759
+ return color;
760
+ }
761
+ const hadPlaceholder = element.hasAttribute('data-builder-placeholder-active');
762
+ element.removeAttribute('data-builder-placeholder-active');
763
+ let resolved = element.ownerDocument.defaultView?.getComputedStyle(element).color ?? color;
764
+ if (isPlaceholderTone(resolved)) {
765
+ const probe = element.ownerDocument.createTextNode('\u00a0');
766
+ element.appendChild(probe);
767
+ resolved = element.ownerDocument.defaultView?.getComputedStyle(element).color ?? resolved;
768
+ probe.remove();
769
+ }
770
+ if (hadPlaceholder) {
771
+ element.setAttribute('data-builder-placeholder-active', '');
772
+ }
773
+ return isPlaceholderTone(resolved) ? color : resolved;
774
+ }
775
+ function isPlaceholderTone(color) {
776
+ const normalized = color.replace(/\s+/g, '').toLowerCase();
777
+ return (normalized === 'rgb(156,163,175)' ||
778
+ normalized === '#9ca3af' ||
779
+ normalized === 'rgb(156,163,175)');
780
+ }
781
+ function getClickCoords(event) {
782
+ if (!event || !(event instanceof MouseEvent)) {
783
+ return null;
784
+ }
785
+ return { left: event.clientX, top: event.clientY };
786
+ }
787
+ function isEditorInternalMutation(target) {
788
+ if (!(target instanceof Element)) {
789
+ return target.parentElement != null && isEditorInternalMutation(target.parentElement);
790
+ }
791
+ return Boolean(target.closest('.builder-preview-field-editor, .ProseMirror, .builder-preview-text-editor'));
792
+ }
793
+ function getClickCaretOffset(element, event) {
794
+ if (!(event instanceof MouseEvent)) {
795
+ return null;
796
+ }
797
+ const doc = element.ownerDocument;
798
+ const range = doc.caretRangeFromPoint?.(event.clientX, event.clientY) ??
799
+ (() => {
800
+ const pos = doc.caretPositionFromPoint?.(event.clientX, event.clientY);
801
+ if (!pos) {
802
+ return null;
803
+ }
804
+ const nextRange = doc.createRange();
805
+ nextRange.setStart(pos.offsetNode, pos.offset);
806
+ nextRange.collapse(true);
807
+ return nextRange;
808
+ })();
809
+ if (!range || !element.contains(range.startContainer)) {
810
+ return null;
811
+ }
812
+ const preRange = doc.createRange();
813
+ preRange.selectNodeContents(element);
814
+ preRange.setEnd(range.startContainer, range.startOffset);
815
+ return preRange.toString().length;
816
+ }
817
+ function getFieldByRawPath(fields, rawPath) {
818
+ const segments = rawPath.split('.');
819
+ let currentFields = fields;
820
+ let currentField = null;
821
+ for (const segment of segments) {
822
+ if (!currentFields) {
823
+ return null;
824
+ }
825
+ const isArray = segment.endsWith('[]');
826
+ const name = isArray ? segment.slice(0, -2) : segment;
827
+ const field = currentFields[name];
828
+ if (!field) {
829
+ return null;
830
+ }
831
+ currentField = field;
832
+ if (isArray && field.item?.fields) {
833
+ currentFields = field.item.fields;
834
+ }
835
+ else if (field.fields) {
836
+ currentFields = field.fields;
837
+ }
838
+ else {
839
+ currentFields = undefined;
840
+ }
841
+ }
842
+ return currentField;
843
+ }
844
+ function resolveDefaultText(defaultValue) {
845
+ if (isRichTextValue(defaultValue)) {
846
+ return defaultValue.html.trim();
847
+ }
848
+ if (typeof defaultValue === 'string') {
849
+ return defaultValue.trim();
850
+ }
851
+ return '';
852
+ }
853
+ //# sourceMappingURL=enhance-editable-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhance-editable-fields.js","sourceRoot":"","sources":["../../preview/enhance-editable-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AACnE,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,eAAe,EAKf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACN,sBAAsB,EACtB,4BAA4B,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,IAAI,uBAAuB,GAAG,KAAK,CAAC;AAiBpC,SAAS,uBAAuB,CAAC,OAAoB;IACpD,OAAO,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;IACpD,OAAO,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;IAC3D,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,OAAO,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC/C,CAAC;AACF,CAAC;AAED,SAAS,oCAAoC,CAAC,OAAoB;IACjE,IAAI,OAAO,CAAC,OAAO,CAAC,yBAAyB,KAAK,MAAM,EAAE,CAAC;QAC1D,OAAO;IACR,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAU,EAAE,CAAC;QACjE,MAAM,UAAU,GAAG,iBAAiB,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,SAAS;QACV,CAAC;QAED,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,IAAiB,EACjB,MAYC;IAKD,IAAI,aAAa,GAAG,MAAM,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3D,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO;QACR,CAAC;QAED,KAAK,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,UAAU,EAAE,CAAC;IAEb,SAAS,WAAW;QACnB,IAAI,aAAa,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,aAAa,GAAG,IAAI,CAAC;QACrB,qBAAqB,CAAC,GAAG,EAAE;YAC1B,aAAa,GAAG,KAAK,CAAC;YACtB,UAAU,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,UAAU;QAClB,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC3B,WAAW,EAAE,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,sBAAsB,CAAC,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC;QAElD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,aAAa,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS;YACV,CAAC;YAED,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAChI,aAAa,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;gBAC3C,IAAI,CAAC,SAAS,IAAI,OAAQ,KAAK,CAAC,QAAgB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACtE,KAAK,CAAC,QAAgB,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,SAAS;YACV,CAAC;YAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,SAAS;YACV,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,oCAAoC,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC;gBACD,uBAAuB,CAAC,OAAO,CAAC,CAAC;gBACjC,SAAS;YACV,CAAC;YAED,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7E,MAAM,YAAY,GAAG,QAAQ,EAAE,OAAO,IAAI,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClG,IAAI,aAAa,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAErD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC;oBAC5C,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,IAAI,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtE,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC1C,kBAAkB,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,kBAAkB,EAAE,CAAC;gBACxB,OAAO,CAAC,YAAY,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClH,MAAM,SAAS,GACd,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,KAAK,MAAM,CAAC;YAEvE,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,eAAe,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC;gBACrD,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;gBACxD,MAAM,cAAc,GAAG,sVAAsV,CAAC;gBAC9W,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,cAAc,EAAE,CAAC;oBACjD,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;gBACpC,CAAC;YACF,CAAC;iBAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;gBACjD,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;YACpD,CAAC;YAED,IACC,sBAAsB,CAAC,OAAO,CAAC;gBAC/B,OAAO;gBACP,gBAAgB,CAAC,OAAO,CAAC,KAAK,MAAM,EACnC,CAAC;gBACF,2BAA2B,CAC1B,OAAO,EACP,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAC5E,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;gBAC9D,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;YAC/C,CAAC;YAGD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC3B,SAAS;YACV,CAAC;YAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/D,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpD,IAAI,QAAQ,EAAE,CAAC;wBACd,aAAa,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;oBACD,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAChC,CAAC;gBACD,SAAS;YACV,CAAC;YAED,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACxB,aAAa,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC;IAED,SAAS,aAAa,CAAC,OAAoB;QAC1C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,gBAAgB,CAAC,OAAoB,EAAE,SAAsB;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,iBAAiB,CAAC,OAAoB,EAAE,IAAY;QAC5D,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAElF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,EAAE;YACpC,iBAAiB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE;gBAC5D,IAAI;gBACJ,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,GAAG,oBAAoB,CAAC,OAAO,CAAC;gBAChC,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;aACnF,CAAC,CAAC;YACH,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,OAAO;YACP,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG,EAAE;gBACb,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC5D,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAC7C,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,aAAa,CAAC,OAAoB,EAAE,IAAY,EAAE,KAAa;QACvE,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE;YACtC,IAAI;YACJ,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/D,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;YAC7B,GAAG,oBAAoB,CAAC,OAAO,CAAC;SAChC,CAAC,CAAC;QACH,iBAAiB,GAAG,IAAI,CAAC;QACzB,uBAAuB,GAAG,IAAI,CAAC;QAE/B,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvE,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACnE,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAClD,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAClD,sBAAsB,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAClE,IAAI,YAAY,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChD,aAAa,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACd,aAAa,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;QACrD,sBAAsB,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS,sBAAsB;QAC9B,qBAAqB,CAAC,GAAG,EAAE;YAC1B,qBAAqB,CAAC,GAAG,EAAE;gBAC1B,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,uBAAuB,GAAG,KAAK,CAAC;YACjC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,cAAc,CAAC,GAAa;QACpC,OAAQ,GAAG,CAAC,cAAc,CAAC,sBAAsB,CAAwB,IAAI,GAAG,CAAC,IAAI,CAAC;IACvF,CAAC;IAED,SAAS,iBAAiB;QACzB,UAAU,CAAC,GAAG,EAAE;YACf,IAAI,iBAAiB,IAAI,uBAAuB,EAAE,CAAC;gBAClD,OAAO;YACR,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;YACjC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAExC,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/D,OAAO;YACR,CAAC;YAED,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC,EAAE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,iBAAiB,CAAC,OAAuB;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,OAAO,CACb,OAAO,CAAC,OAAO,CACd,oHAAoH,CACpH,CACD,CAAC;IACH,CAAC;IAED,SAAS,UAAU,CAClB,OAAoB,EACpB,SAAsB,EACtB,cAAkC,IAAI;QAEtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,uBAAuB,GAAG,IAAI,KAAK,MAAM,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,IAAI,CAAC,uBAAuB,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAEzF,OAAO,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;QAC3D,OAAO,CAAC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAElF,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;QACtC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEvE,IAAI,uBAAuB,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,WAAW,CACxB,oCAAoC,EACpC,gCAAgC,CAAC,OAAO,CAAC,CACzC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,EAAE;YACnD,gBAAgB,EAAE,IAAI,KAAK,MAAM,IAAI,SAAS,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAClF,SAAS,EAAE,uBAAuB;YAClC,kBAAkB,EAAE,uBAAuB;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,oCAAoC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvF,CAAC;QACF,CAAC;QAED,IAAI,uBAAuB,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;YACtE,OAAO,CAAC,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7D,SAAS,CAAC,SAAS,GAAG,8BAA8B,CAAC;QACrD,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAElF,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,KAAK,IAAI,CAAC;QAErD,IAAI,QAAiC,CAAC;QAEtC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACrB,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE;gBACnC,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE;oBACN,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;oBACjD,QAAQ,EAAE,GAAG,EAAE;wBACd,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACrC,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBAClC,CAAC;oBACD,OAAO,EAAE,GAAG,EAAE;wBACb,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACxC,CAAC;oBACD,MAAM,EAAE,GAAG,EAAE;wBACZ,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;4BACtC,aAAa,CAAC,gBAAgB,EAAE,CAAC;wBAClC,CAAC;oBACF,CAAC;iBACD;aACD,CAA4B,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,QAAQ,GAAG,KAAK,CAAC,kBAAkB,EAAE;gBACpC,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE;oBACN,OAAO,EAAE,OAA2B;oBACpC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;oBACjD,QAAQ,EAAE,GAAG,EAAE;wBACd,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACrC,aAAa,CAAC,gBAAgB,EAAE,CAAC;oBAClC,CAAC;oBACD,MAAM,EAAE,GAAG,EAAE;wBACZ,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;4BACtC,aAAa,CAAC,gBAAgB,EAAE,CAAC;wBAClC,CAAC;oBACF,CAAC;iBACD;aACD,CAA4B,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtD,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE;gBAChC,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE;oBACN,KAAK,EAAE,SAAS;oBAChB,WAAW;oBACX,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,WAAW;oBACtB,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5E,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;oBACpD,WAAW,EAAE,UAAU;oBACvB,QAAQ,EAAE,CAAC,SAA+B,EAAE,EAAE,CAC7C,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;oBAChD,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE;iBACjC;aACD,CAA4B,CAAC;QAC/B,CAAC;aAAM,IAAI,uBAAuB,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC3D,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE;gBAChC,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE;oBACN,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW;oBACX,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,IAAI;oBACnB,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,WAAW;oBACtB,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5E,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;oBACpD,WAAW,EAAE,UAAU;oBACvB,QAAQ,EAAE,CAAC,SAA+B,EAAE,EAAE;wBAC7C,MAAM,KAAK,GAAG,2BAA2B,CACxC,SAAS,CAAC,IAAI,EACd,OAAO,CAAC,aAAa,CACrB,CAAC;wBACF,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;4BAClB,OAAO,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;wBAC5D,CAAC;wBACD,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACzC,CAAC;oBACD,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE;iBACjC;aACD,CAA4B,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACrC,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE;gBACnC,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE;oBACN,KAAK,EAAE,SAAS;oBAChB,WAAW;oBACX,SAAS;oBACT,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,UAAU;oBACrB,SAAS,EAAE,WAAW;oBACtB,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5E,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;oBACpD,QAAQ,EAAE,CAAC,SAAiB,EAAE,EAAE;wBAC/B,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;4BACtB,OAAO,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;wBAC5D,CAAC;wBACD,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC7C,CAAC;oBACD,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE;iBACjC;aACD,CAA4B,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,OAAO,EAAE,GAAG,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;gBACnE,IAAI,OAAO,CAAC,OAAO,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;oBACvD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBAC/C,CAAC;YACF,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,iBAAiB,CACzB,IAAY,EACZ,WAA+B,EAC/B,WAA0B;QAE1B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC5C,SAAS;YACV,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAuB,CAAC;gBACtF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAEjE,CAAC;gBACR,MAAM,QAAQ,GAAG,WAAW,IAAI,KAAK,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,OAAO;gBACR,CAAC;gBAED,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAEjB,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;oBAChC,OAAO;gBACR,CAAC;gBAED,IAAI,WAAW,EAAE,CAAC;oBACjB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC;oBACnC,MAAM,KAAK,GACV,GAAG,CAAC,mBAAmB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;wBAC5D,CAAC,GAAG,EAAE;4BACL,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;4BAC5E,IAAI,CAAC,GAAG,EAAE,CAAC;gCACV,OAAO,IAAI,CAAC;4BACb,CAAC;4BAED,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;4BACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;4BAC/C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACzB,OAAO,SAAS,CAAC;wBAClB,CAAC,CAAC,EAAE,CAAC;oBAEN,IAAI,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;wBACtD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;wBACrC,SAAS,EAAE,eAAe,EAAE,CAAC;wBAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAC3B,OAAO;oBACR,CAAC;gBACF,CAAC;gBAED,IAAI,WAAW,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClD,OAAO;gBACR,CAAC;gBAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;oBAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChB,OAAO;oBACR,CAAC;oBAED,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;oBACjE,IAAI,SAAS,GAAG,WAAW,CAAC;oBAE5B,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;wBAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAmB,CAAC;wBAC5C,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAClC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;4BAChC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;4BACpC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACrB,SAAS,CAAC,eAAe,EAAE,CAAC;4BAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAC1B,OAAO;wBACR,CAAC;wBAED,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;oBAC9B,CAAC;gBACF,CAAC;gBACD,OAAO;YACR,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAuB,CAAC;gBACtF,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,OAAO;gBACR,CAAC;gBAED,WAAW,CAAC,KAAK,EAAE,CAAC;gBAEpB,IAAI,WAAW,EAAE,CAAC;oBACjB,MAAM,GAAG,GAAG,WAAW,CAAC,aAAa,CAAC;oBACtC,MAAM,KAAK,GACV,GAAG,CAAC,mBAAmB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;wBAC5D,CAAC,GAAG,EAAE;4BACL,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;4BAC5E,IAAI,CAAC,GAAG,EAAE,CAAC;gCACV,OAAO,IAAI,CAAC;4BACb,CAAC;4BAED,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;4BACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;4BAC/C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACzB,OAAO,SAAS,CAAC;wBAClB,CAAC,CAAC,EAAE,CAAC;oBAEN,IAAI,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;wBACzD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;wBACrC,SAAS,EAAE,eAAe,EAAE,CAAC;wBAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACF,CAAC;gBACD,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED,SAAS,aAAa,CACrB,OAAoB,EACpB,UAAwC,EAAE;QAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACrD,IAAI,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;oBACrE,WAAW,CAAC,MAAM,EAAE,CAAC;gBACtB,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAElB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACjF,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;gBAC5E,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC/D,OAAO;QACR,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;QACR,CAAC;QAED,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,WAAW;QACnB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjD,aAAa,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;IAED,SAAS,qBAAqB,CAAC,UAAyB;QACvD,OAAO,CACN,aAAa,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YAC1C,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE;YAC9C,aAAa,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;YAClD,aAAa,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS;YAChD,aAAa,CAAC,WAAW,KAAK,UAAU,CAAC,WAAW,CACpD,CAAC;IACH,CAAC;IAED,OAAO;QACN,MAAM,CAAC,UAAU;YAChB,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACxD,aAAa,GAAG,UAAU,CAAC;YAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,OAAO;YACR,CAAC;YAED,UAAU,EAAE,CAAC;QACd,CAAC;QACD,OAAO;YACN,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAC9B,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAC9C,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACtC,OAAQ,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAwB,IAAI,IAAI,CAAC;AACrF,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAE9D,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,WAAW,KAAK,iBAAiB,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;QAC3E,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,OAAoB;IAChE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,WAAW,KAAK,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnE,OAAO,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,cAAc,CAAC,OAAoB;IAC3C,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;IACtD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY,EAAE,GAAa;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3D,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;IAC5B,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAoB,EAAE,WAAmB;IACzE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACV,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACV,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IACnD,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAoB,EAAE,WAAmB;IAC7E,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAEvD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,QAAQ,IAAI,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC;QAChD,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC/C,CAAC;AACF,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAoB;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC7B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAClC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IACnC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IACjD,KAAK,CAAC,MAAM,EAAE,CAAC;IAEf,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAC7B,OAAoB,EACpB,KAAc,EACd,IAAmC,EACnC,YAAY,GAAG,EAAE;IAEjB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO;IACR,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACxD,OAAO;IACR,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClD,OAA4B,CAAC,GAAG,GAAG,KAAK,CAAC;IAC3C,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAC/B,OAAoB,EACpB,UAA6F,EAAE;IAE/F,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;IAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElF,MAAM,MAAM,GAAG;QACd,eAAe,QAAQ,CAAC,UAAU,EAAE;QACpC,aAAa,QAAQ,CAAC,QAAQ,EAAE;QAChC,eAAe,QAAQ,CAAC,UAAU,EAAE;QACpC,cAAc,QAAQ,CAAC,SAAS,EAAE;QAClC,eAAe,QAAQ,CAAC,UAAU,EAAE;QACpC,kBAAkB,QAAQ,CAAC,aAAa,EAAE;QAC1C,kBAAkB,QAAQ,CAAC,aAAa,EAAE;QAC1C,cAAc,QAAQ,CAAC,SAAS,EAAE;QAClC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;QAC7B,gBAAgB,QAAQ,CAAC,WAAW,EAAE;QACtC,gBAAgB,QAAQ,CAAC,WAAW,EAAE;QACtC,gBAAgB,QAAQ,CAAC,WAAW,EAAE;QACtC,eAAe,QAAQ,CAAC,UAAU,EAAE;QACpC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,cAAc,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;QAC9D,kBAAkB,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;KAC7D,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAoB,EAAE,KAAa;IACnE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;IAC/E,OAAO,CAAC,eAAe,CAAC,iCAAiC,CAAC,CAAC;IAE3D,IAAI,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;IAE3F,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC;QAC1F,KAAK,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,YAAY,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,OAAO,CACN,UAAU,KAAK,kBAAkB;QACjC,UAAU,KAAK,SAAS;QACxB,UAAU,KAAK,kBAAkB,CACjC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACpC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAY;IAC7C,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,wBAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,OAAO,CACb,MAAM,CAAC,OAAO,CAAC,2EAA2E,CAAC,CAC3F,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoB,EAAE,KAAY;IAC9D,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,MAAM,KAAK,GACV,GAAG,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACvD,CAAC,GAAG,EAAE;YACL,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACvE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;IAEN,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAqB,EAAE,OAAe;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,aAAa,GAA8B,MAAM,CAAC;IACtD,IAAI,YAAY,GAAwB,IAAI,CAAC;IAE7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtD,MAAM,KAAK,GAA6B,aAAa,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACb,CAAC;QAED,YAAY,GAAG,KAAK,CAAC;QAErB,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACnC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,aAAa,GAAG,SAAS,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAqB;IAChD,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brixter/brix-builder",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Visual page builder for Brixter (Svelte 5)",
5
5
  "license": "MIT",
6
6
  "author": "megabudino (https://github.com/megabudino)",