@node-projects/web-component-designer 0.1.316 → 0.1.318
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/dist/elements/helper/getBoxQuads.js +149 -51
- package/dist/elements/helper/getBoxQuads.js.map +1 -1
- package/dist/index-min.js +100 -100
- package/package.json +1 -1
|
@@ -69,11 +69,11 @@ export function convertQuadFromNode(node, quad, from, options) {
|
|
|
69
69
|
const m1 = getResultingTransformationBetweenElementAndAllAncestors(from, document.body, options?.iframes);
|
|
70
70
|
const m2 = getResultingTransformationBetweenElementAndAllAncestors(node, document.body, options?.iframes).inverse();
|
|
71
71
|
if (options?.fromBox && options?.fromBox !== 'border') {
|
|
72
|
-
quad = new DOMQuad(transformPointBox(quad.p1, options.fromBox, (
|
|
72
|
+
quad = new DOMQuad(transformPointBox(quad.p1, options.fromBox, getCachedComputedStyle(from), -1), transformPointBox(quad.p2, options.fromBox, getCachedComputedStyle(from), -1), transformPointBox(quad.p3, options.fromBox, getCachedComputedStyle(from), -1), transformPointBox(quad.p4, options.fromBox, getCachedComputedStyle(from), -1));
|
|
73
73
|
}
|
|
74
74
|
let res = new DOMQuad(m2.transformPoint(m1.transformPoint(quad.p1)), m2.transformPoint(m1.transformPoint(quad.p2)), m2.transformPoint(m1.transformPoint(quad.p3)), m2.transformPoint(m1.transformPoint(quad.p4)));
|
|
75
75
|
if (options?.toBox && options?.toBox !== 'border' && (node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
|
|
76
|
-
res = new DOMQuad(transformPointBox(res.p1, options.toBox, (node
|
|
76
|
+
res = new DOMQuad(transformPointBox(res.p1, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p2, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p3, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p4, options.toBox, getCachedComputedStyle(node), -1));
|
|
77
77
|
}
|
|
78
78
|
return res;
|
|
79
79
|
}
|
|
@@ -88,12 +88,12 @@ export function convertRectFromNode(node, rect, from, options) {
|
|
|
88
88
|
const m1 = getResultingTransformationBetweenElementAndAllAncestors(from, (node.ownerDocument.defaultView ?? window).document.body.parentElement, options?.iframes);
|
|
89
89
|
const m2 = getResultingTransformationBetweenElementAndAllAncestors(node, (node.ownerDocument.defaultView ?? window).document.body.parentElement, options?.iframes).inverse();
|
|
90
90
|
if (options?.fromBox && options?.fromBox !== 'border') {
|
|
91
|
-
const p = transformPointBox(new DOMPoint(rect.x, rect.y), options.fromBox, (
|
|
91
|
+
const p = transformPointBox(new DOMPoint(rect.x, rect.y), options.fromBox, getCachedComputedStyle(from), 1);
|
|
92
92
|
rect = new DOMRect(p.x, p.y, rect.width, rect.height);
|
|
93
93
|
}
|
|
94
94
|
let res = new DOMQuad(m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x, rect.y))), m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x + rect.width, rect.y))), m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x + rect.width, rect.y + rect.height))), m2.transformPoint(m1.transformPoint(new DOMPoint(rect.x, rect.y + rect.height))));
|
|
95
95
|
if (options?.toBox && options?.toBox !== 'border' && (node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
|
|
96
|
-
res = new DOMQuad(transformPointBox(res.p1, options.toBox, (node
|
|
96
|
+
res = new DOMQuad(transformPointBox(res.p1, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p2, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p3, options.toBox, getCachedComputedStyle(node), -1), transformPointBox(res.p4, options.toBox, getCachedComputedStyle(node), -1));
|
|
97
97
|
}
|
|
98
98
|
return res;
|
|
99
99
|
}
|
|
@@ -108,11 +108,11 @@ export function convertPointFromNode(node, point, from, options) {
|
|
|
108
108
|
const m1 = getResultingTransformationBetweenElementAndAllAncestors(from, (node.ownerDocument.defaultView ?? window).document.body.parentElement, options?.iframes);
|
|
109
109
|
const m2 = getResultingTransformationBetweenElementAndAllAncestors(node, document.body, options?.iframes).inverse();
|
|
110
110
|
if (options?.fromBox && options?.fromBox !== 'border') {
|
|
111
|
-
point = transformPointBox(point, options.fromBox, (
|
|
111
|
+
point = transformPointBox(point, options.fromBox, getCachedComputedStyle(from), 1);
|
|
112
112
|
}
|
|
113
113
|
let res = m2.transformPoint(m1.transformPoint(point));
|
|
114
114
|
if (options?.toBox && options?.toBox !== 'border' && (node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
|
|
115
|
-
res = transformPointBox(res, options.toBox, (node
|
|
115
|
+
res = transformPointBox(res, options.toBox, getCachedComputedStyle(node), -1);
|
|
116
116
|
}
|
|
117
117
|
return res;
|
|
118
118
|
}
|
|
@@ -142,15 +142,34 @@ let hash;
|
|
|
142
142
|
let boxQuadsCache;
|
|
143
143
|
/** @type { Map<string, DOMMatrix> } */
|
|
144
144
|
let transformCache;
|
|
145
|
+
/** @type { WeakMap<Node, CSSStyleDeclaration> } */
|
|
146
|
+
let computedStyleCache;
|
|
145
147
|
let hashId = 0;
|
|
146
148
|
export function clearCache() {
|
|
147
149
|
boxQuadsCache.clear();
|
|
148
150
|
transformCache.clear();
|
|
151
|
+
computedStyleCache = new WeakMap();
|
|
149
152
|
}
|
|
150
153
|
export function useCache() {
|
|
151
154
|
hash = new WeakMap();
|
|
152
155
|
boxQuadsCache = new Map();
|
|
153
156
|
transformCache = new Map();
|
|
157
|
+
computedStyleCache = new WeakMap();
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* @param {Element} element
|
|
161
|
+
* @returns {CSSStyleDeclaration}
|
|
162
|
+
*/
|
|
163
|
+
function getCachedComputedStyle(element) {
|
|
164
|
+
if (!computedStyleCache) {
|
|
165
|
+
return (element.ownerDocument.defaultView ?? window).getComputedStyle(element);
|
|
166
|
+
}
|
|
167
|
+
let style = computedStyleCache.get(element);
|
|
168
|
+
if (!style) {
|
|
169
|
+
style = (element.ownerDocument.defaultView ?? window).getComputedStyle(element);
|
|
170
|
+
computedStyleCache.set(element, style);
|
|
171
|
+
}
|
|
172
|
+
return style;
|
|
154
173
|
}
|
|
155
174
|
/**
|
|
156
175
|
* @param {Node} node
|
|
@@ -182,15 +201,15 @@ export function getBoxQuads(node, options) {
|
|
|
182
201
|
let o = null;
|
|
183
202
|
if ((node instanceof Element || node instanceof (node.ownerDocument.defaultView ?? window).Element)) {
|
|
184
203
|
if (options?.box === 'margin') {
|
|
185
|
-
const cs = (node
|
|
204
|
+
const cs = getCachedComputedStyle(node);
|
|
186
205
|
o = [{ x: parseFloat(cs.marginLeft), y: parseFloat(cs.marginTop) }, { x: -parseFloat(cs.marginRight), y: parseFloat(cs.marginTop) }, { x: -parseFloat(cs.marginRight), y: -parseFloat(cs.marginBottom) }, { x: parseFloat(cs.marginLeft), y: -parseFloat(cs.marginBottom) }];
|
|
187
206
|
}
|
|
188
207
|
else if (options?.box === 'padding') {
|
|
189
|
-
const cs = (node
|
|
208
|
+
const cs = getCachedComputedStyle(node);
|
|
190
209
|
o = [{ x: -parseFloat(cs.borderLeftWidth), y: -parseFloat(cs.borderTopWidth) }, { x: parseFloat(cs.borderRightWidth), y: -parseFloat(cs.borderTopWidth) }, { x: parseFloat(cs.borderRightWidth), y: parseFloat(cs.borderBottomWidth) }, { x: -parseFloat(cs.borderLeftWidth), y: parseFloat(cs.borderBottomWidth) }];
|
|
191
210
|
}
|
|
192
211
|
else if (options?.box === 'content') {
|
|
193
|
-
const cs = (node
|
|
212
|
+
const cs = getCachedComputedStyle(node);
|
|
194
213
|
o = [{ x: -parseFloat(cs.borderLeftWidth) - parseFloat(cs.paddingLeft), y: -parseFloat(cs.borderTopWidth) - parseFloat(cs.paddingTop) }, { x: parseFloat(cs.borderRightWidth) + parseFloat(cs.paddingRight), y: -parseFloat(cs.borderTopWidth) - parseFloat(cs.paddingTop) }, { x: parseFloat(cs.borderRightWidth) + parseFloat(cs.paddingRight), y: parseFloat(cs.borderBottomWidth) + parseFloat(cs.paddingBottom) }, { x: -parseFloat(cs.borderLeftWidth) - parseFloat(cs.paddingLeft), y: parseFloat(cs.borderBottomWidth) + parseFloat(cs.paddingBottom) }];
|
|
195
214
|
}
|
|
196
215
|
}
|
|
@@ -268,12 +287,12 @@ export function getElementSize(node, matrix) {
|
|
|
268
287
|
*/
|
|
269
288
|
function getElementOffsetsInContainer(node, includeScroll, iframes) {
|
|
270
289
|
if ((node instanceof HTMLElement || node instanceof (node.ownerDocument.defaultView ?? window).HTMLElement)) {
|
|
271
|
-
let cs = (node
|
|
290
|
+
let cs = getCachedComputedStyle(node);
|
|
272
291
|
if (cs.offsetPath && cs.offsetPath !== 'none') {
|
|
273
292
|
return new DOMPoint(0, 0);
|
|
274
293
|
}
|
|
275
294
|
if (includeScroll) {
|
|
276
|
-
const cs = (node
|
|
295
|
+
const cs = getCachedComputedStyle(node);
|
|
277
296
|
return new DOMPoint(node.offsetLeft - (includeScroll ? node.scrollLeft - parseFloat(cs.borderLeftWidth) : 0), node.offsetTop - (includeScroll ? node.scrollTop - parseFloat(cs.borderTopWidth) : 0));
|
|
278
297
|
}
|
|
279
298
|
else {
|
|
@@ -297,16 +316,16 @@ function getElementOffsetsInContainer(node, includeScroll, iframes) {
|
|
|
297
316
|
const bb = node.getBBox();
|
|
298
317
|
return new DOMPoint(bb.x, bb.y);
|
|
299
318
|
}
|
|
300
|
-
const cs = (node
|
|
319
|
+
const cs = getCachedComputedStyle(node);
|
|
301
320
|
if (cs.position === 'absolute') {
|
|
302
321
|
return new DOMPoint(parseFloat(cs.left), parseFloat(cs.top));
|
|
303
322
|
}
|
|
304
323
|
const par = getParentElementIncludingSlots(node, iframes);
|
|
305
|
-
const m = getResultingTransformationBetweenElementAndAllAncestors(par, document.body, iframes);
|
|
324
|
+
const m = getResultingTransformationBetweenElementAndAllAncestors(par, document.body, iframes).inverse();
|
|
306
325
|
const r1 = node.getBoundingClientRect();
|
|
307
|
-
const r1t = m.
|
|
326
|
+
const r1t = m.transformPoint(r1);
|
|
308
327
|
const r2 = par.getBoundingClientRect();
|
|
309
|
-
const r2t = m.
|
|
328
|
+
const r2t = m.transformPoint(r2);
|
|
310
329
|
return new DOMPoint(r1t.x - r2t.x, r1t.y - r2t.y);
|
|
311
330
|
}
|
|
312
331
|
}
|
|
@@ -338,7 +357,7 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
|
|
|
338
357
|
let originalElementAndAllParentsMultipliedMatrix = getElementCombinedTransform(actualElement, iframes);
|
|
339
358
|
let perspectiveParentElement = getParentElementIncludingSlots(actualElement, iframes);
|
|
340
359
|
if (perspectiveParentElement) {
|
|
341
|
-
let s = (
|
|
360
|
+
let s = getCachedComputedStyle(perspectiveParentElement);
|
|
342
361
|
if (s.transformStyle !== 'preserve-3d') {
|
|
343
362
|
projectTo2D(originalElementAndAllParentsMultipliedMatrix);
|
|
344
363
|
}
|
|
@@ -347,26 +366,25 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
|
|
|
347
366
|
while (actualElement != ancestor && actualElement != null) {
|
|
348
367
|
const parentElement = getParentElementIncludingSlots(actualElement, iframes);
|
|
349
368
|
if (actualElement.assignedSlot != null) {
|
|
350
|
-
const
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
}
|
|
369
|
+
const l = offsetTopLeftPolyfill(actualElement, 'offsetLeft');
|
|
370
|
+
const t = offsetTopLeftPolyfill(actualElement, 'offsetTop');
|
|
371
|
+
const mvMat = new DOMMatrix().translateSelf(l, t);
|
|
372
|
+
originalElementAndAllParentsMultipliedMatrix = mvMat.multiplySelf(originalElementAndAllParentsMultipliedMatrix);
|
|
355
373
|
}
|
|
356
374
|
else {
|
|
357
375
|
if ((actualElement instanceof HTMLElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLElement)) {
|
|
358
376
|
if (lastOffsetParent !== actualElement.offsetParent && !((actualElement instanceof HTMLSlotElement || actualElement instanceof (actualElement.ownerDocument.defaultView ?? window).HTMLSlotElement))) {
|
|
359
377
|
const offsets = getElementOffsetsInContainer(actualElement, actualElement !== node, iframes);
|
|
360
378
|
lastOffsetParent = actualElement.offsetParent;
|
|
361
|
-
const mvMat = new DOMMatrix().
|
|
362
|
-
originalElementAndAllParentsMultipliedMatrix = mvMat.
|
|
379
|
+
const mvMat = new DOMMatrix().translateSelf(offsets.x, offsets.y);
|
|
380
|
+
originalElementAndAllParentsMultipliedMatrix = mvMat.multiplySelf(originalElementAndAllParentsMultipliedMatrix);
|
|
363
381
|
}
|
|
364
382
|
}
|
|
365
383
|
else {
|
|
366
384
|
const offsets = getElementOffsetsInContainer(actualElement, actualElement !== node, iframes);
|
|
367
385
|
lastOffsetParent = null;
|
|
368
|
-
const mvMat = new DOMMatrix().
|
|
369
|
-
originalElementAndAllParentsMultipliedMatrix = mvMat.
|
|
386
|
+
const mvMat = new DOMMatrix().translateSelf(offsets.x, offsets.y);
|
|
387
|
+
originalElementAndAllParentsMultipliedMatrix = mvMat.multiplySelf(originalElementAndAllParentsMultipliedMatrix);
|
|
370
388
|
}
|
|
371
389
|
}
|
|
372
390
|
if (parentElement) {
|
|
@@ -375,7 +393,7 @@ export function getResultingTransformationBetweenElementAndAllAncestors(node, an
|
|
|
375
393
|
originalElementAndAllParentsMultipliedMatrix = parentElementMatrix.multiply(originalElementAndAllParentsMultipliedMatrix);
|
|
376
394
|
perspectiveParentElement = getParentElementIncludingSlots(parentElement, iframes);
|
|
377
395
|
if (perspectiveParentElement) {
|
|
378
|
-
const s = (perspectiveParentElement
|
|
396
|
+
const s = getCachedComputedStyle(perspectiveParentElement);
|
|
379
397
|
if (s.transformStyle !== 'preserve-3d') {
|
|
380
398
|
projectTo2D(originalElementAndAllParentsMultipliedMatrix);
|
|
381
399
|
}
|
|
@@ -423,16 +441,13 @@ export function getElementCombinedTransform(element, iframes) {
|
|
|
423
441
|
if ((element instanceof Text || element instanceof (element.ownerDocument.defaultView ?? window).Text))
|
|
424
442
|
return new DOMMatrix;
|
|
425
443
|
//https://www.w3.org/TR/css-transforms-2/#ctm
|
|
426
|
-
let s = (element
|
|
444
|
+
let s = getCachedComputedStyle(element);
|
|
427
445
|
let m = new DOMMatrix();
|
|
428
446
|
const origin = s.transformOrigin.split(' ');
|
|
429
447
|
const originX = parseFloat(origin[0]);
|
|
430
448
|
const originY = parseFloat(origin[1]);
|
|
431
449
|
const originZ = origin[2] ? parseFloat(origin[2]) : 0;
|
|
432
450
|
const mOri = new DOMMatrix().translate(originX, originY, originZ);
|
|
433
|
-
if (s.offsetPath && s.offsetPath !== 'none') {
|
|
434
|
-
m = m.multiply(computeOffsetTransformMatrix(element));
|
|
435
|
-
}
|
|
436
451
|
if (s.translate != 'none' && s.translate) {
|
|
437
452
|
let tr = s.translate;
|
|
438
453
|
if (tr.includes('%')) {
|
|
@@ -444,24 +459,27 @@ export function getElementCombinedTransform(element, iframes) {
|
|
|
444
459
|
v[1] = (parseFloat(v[1]) * r.height / 100) + 'px';
|
|
445
460
|
tr = v.join(',');
|
|
446
461
|
}
|
|
447
|
-
m
|
|
462
|
+
m.multiplySelf(new DOMMatrix('translate(' + tr.replaceAll(' ', ',') + ')'));
|
|
448
463
|
}
|
|
449
464
|
if (s.rotate != 'none' && s.rotate) {
|
|
450
|
-
m
|
|
465
|
+
m.multiplySelf(new DOMMatrix('rotate(' + s.rotate.replaceAll(' ', ',') + ')'));
|
|
451
466
|
}
|
|
452
467
|
if (s.scale != 'none' && s.scale) {
|
|
453
|
-
m
|
|
468
|
+
m.multiplySelf(new DOMMatrix('scale(' + s.scale.replaceAll(' ', ',') + ')'));
|
|
454
469
|
}
|
|
455
470
|
if (s.transform != 'none' && s.transform) {
|
|
456
|
-
m
|
|
471
|
+
m.multiplySelf(new DOMMatrix(s.transform));
|
|
472
|
+
}
|
|
473
|
+
m = mOri.multiply(m.multiply(mOri.inverse()));
|
|
474
|
+
if (s.offsetPath && s.offsetPath !== 'none') {
|
|
475
|
+
m.multiplySelf(computeOffsetTransformMatrix(element));
|
|
457
476
|
}
|
|
458
|
-
let res = mOri.multiply(m.multiply(mOri.inverse()));
|
|
459
477
|
//@ts-ignore
|
|
460
478
|
const pt = getElementPerspectiveTransform(element, iframes);
|
|
461
479
|
if (pt != null) {
|
|
462
|
-
|
|
480
|
+
m = pt.multiply(m);
|
|
463
481
|
}
|
|
464
|
-
return
|
|
482
|
+
return m;
|
|
465
483
|
}
|
|
466
484
|
/**
|
|
467
485
|
* project a DOM-Matrix to 2D (from firefox matrix.h)
|
|
@@ -503,7 +521,7 @@ function getElementPerspectiveTransform(element, iframes) {
|
|
|
503
521
|
const perspectiveNode = getParentElementIncludingSlots(element, iframes);
|
|
504
522
|
if (perspectiveNode) {
|
|
505
523
|
//https://drafts.csswg.org/css-transforms-2/#perspective-matrix-computation
|
|
506
|
-
let s = (
|
|
524
|
+
let s = getCachedComputedStyle(perspectiveNode);
|
|
507
525
|
if (s.perspective !== 'none') {
|
|
508
526
|
let m = new DOMMatrix();
|
|
509
527
|
let p = parseFloat(s.perspective);
|
|
@@ -522,11 +540,12 @@ function getElementPerspectiveTransform(element, iframes) {
|
|
|
522
540
|
return null;
|
|
523
541
|
}
|
|
524
542
|
function computeOffsetTransformMatrix(elem) {
|
|
525
|
-
const cs = (elem
|
|
543
|
+
const cs = getCachedComputedStyle(elem);
|
|
526
544
|
const offsetPath = cs.offsetPath; // e.g. "path('M0,0 ...')"
|
|
527
545
|
const offsetDistance = cs.offsetDistance; // e.g. "50%"
|
|
528
546
|
const offsetRotate = cs.offsetRotate; // e.g. "auto", "45deg", "auto 30deg"
|
|
529
547
|
const offsetAnchor = cs.offsetAnchor;
|
|
548
|
+
const transformOrigin = cs.transformOrigin;
|
|
530
549
|
// Parse offset-distance (px or %)
|
|
531
550
|
let distance = parseOffsetDistance(offsetDistance);
|
|
532
551
|
// Compute position & tangent on path
|
|
@@ -541,21 +560,19 @@ function computeOffsetTransformMatrix(elem) {
|
|
|
541
560
|
else {
|
|
542
561
|
rotateFinal = parseFloat(offsetRotate);
|
|
543
562
|
}
|
|
544
|
-
|
|
545
|
-
const anchorMatrix = new DOMMatrix()
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
m
|
|
563
|
+
const anchor = parseOffsetAnchor(offsetAnchor, transformOrigin, elem);
|
|
564
|
+
const anchorMatrix = new DOMMatrix().translateSelf(-anchor.x, -anchor.y);
|
|
565
|
+
let m = anchorMatrix.translate(x, y);
|
|
566
|
+
m.multiplySelf(anchorMatrix.invertSelf());
|
|
567
|
+
m.rotateSelf(rotateFinal);
|
|
568
|
+
m.translateSelf(-anchor.x, -anchor.y);
|
|
549
569
|
return m;
|
|
550
570
|
}
|
|
551
|
-
function parseOffsetAnchor(str, elem) {
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
//if (!(elem instanceof HTMLElement)) {
|
|
555
|
-
// const rect = elem.getBoundingClientRect();
|
|
556
|
-
//}
|
|
571
|
+
function parseOffsetAnchor(str, transformOrigin, elem) {
|
|
572
|
+
const width = elem.offsetWidth;
|
|
573
|
+
const height = elem.offsetHeight;
|
|
557
574
|
if (!str || str === "auto") {
|
|
558
|
-
|
|
575
|
+
str = transformOrigin;
|
|
559
576
|
}
|
|
560
577
|
const parts = str.split(/\s+/);
|
|
561
578
|
if (parts.length === 1) {
|
|
@@ -773,4 +790,85 @@ function rectPath(top, left, right, bottom, t) {
|
|
|
773
790
|
let y = bottom - dist;
|
|
774
791
|
return { x: left, y, angle: 270 };
|
|
775
792
|
}
|
|
793
|
+
//Code from: https://github.com/floating-ui/floating-ui/blob/master/packages/utils/src/dom.ts
|
|
794
|
+
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
795
|
+
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
796
|
+
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
797
|
+
function isElement(value) {
|
|
798
|
+
return value instanceof Element || value instanceof value?.ownerDocument?.defaultView?.Element;
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
*
|
|
802
|
+
* @param {Element | CSSStyleDeclaration} elementOrCss
|
|
803
|
+
* @returns {boolean}
|
|
804
|
+
*/
|
|
805
|
+
function isContainingBlock(elementOrCss) {
|
|
806
|
+
/** @type {CSSStyleDeclaration } */
|
|
807
|
+
//@ts-ignore
|
|
808
|
+
const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
|
|
809
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
810
|
+
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
811
|
+
return (transformProperties.some((value) => css[value] ? css[value] !== 'none' : false) ||
|
|
812
|
+
(css.containerType ? css.containerType !== 'normal' : false) ||
|
|
813
|
+
(css.backdropFilter ? css.backdropFilter !== 'none' : false) ||
|
|
814
|
+
(css.filter ? css.filter !== 'none' : false) ||
|
|
815
|
+
willChangeValues.some((value) => (css.willChange || '').includes(value)) ||
|
|
816
|
+
containValues.some((value) => (css.contain || '').includes(value)));
|
|
817
|
+
}
|
|
818
|
+
//Code from: https://github.com/jcfranco/composed-offset-position/blob/main/src/index.ts
|
|
819
|
+
function flatTreeParent(element) {
|
|
820
|
+
if (element.assignedSlot)
|
|
821
|
+
return element.assignedSlot;
|
|
822
|
+
if (element.parentNode instanceof ShadowRoot)
|
|
823
|
+
return element.parentNode.host;
|
|
824
|
+
return element.parentNode;
|
|
825
|
+
}
|
|
826
|
+
function ancestorTreeScopes(element) {
|
|
827
|
+
const scopes = new Set();
|
|
828
|
+
let currentScope = element.getRootNode();
|
|
829
|
+
while (currentScope) {
|
|
830
|
+
scopes.add(currentScope);
|
|
831
|
+
currentScope = currentScope.parentNode
|
|
832
|
+
? currentScope.parentNode.getRootNode()
|
|
833
|
+
: null;
|
|
834
|
+
}
|
|
835
|
+
return scopes;
|
|
836
|
+
}
|
|
837
|
+
function offsetParentPolyfill(element) {
|
|
838
|
+
// Do an initial walk to check for display:none ancestors.
|
|
839
|
+
for (let ancestor = element; ancestor; ancestor = flatTreeParent(ancestor)) {
|
|
840
|
+
if (!(ancestor instanceof Element))
|
|
841
|
+
continue;
|
|
842
|
+
if (getCachedComputedStyle(ancestor).display === 'none')
|
|
843
|
+
return null;
|
|
844
|
+
}
|
|
845
|
+
for (let ancestor = flatTreeParent(element); ancestor; ancestor = flatTreeParent(ancestor)) {
|
|
846
|
+
if (!(ancestor instanceof Element))
|
|
847
|
+
continue;
|
|
848
|
+
const style = getCachedComputedStyle(ancestor);
|
|
849
|
+
if (style.display === 'contents')
|
|
850
|
+
continue;
|
|
851
|
+
if (style.position !== 'static' || isContainingBlock(style))
|
|
852
|
+
return ancestor;
|
|
853
|
+
if (ancestor.tagName === 'BODY')
|
|
854
|
+
return ancestor;
|
|
855
|
+
}
|
|
856
|
+
return null;
|
|
857
|
+
}
|
|
858
|
+
/**
|
|
859
|
+
*
|
|
860
|
+
* @param {*} element
|
|
861
|
+
* @param {'offsetTop' | 'offsetLeft'} offsetTopOrLeft
|
|
862
|
+
* @returns
|
|
863
|
+
*/
|
|
864
|
+
function offsetTopLeftPolyfill(element, offsetTopOrLeft) {
|
|
865
|
+
let value = element[offsetTopOrLeft];
|
|
866
|
+
let nextOffsetParent = offsetParentPolyfill(element);
|
|
867
|
+
const scopes = ancestorTreeScopes(element);
|
|
868
|
+
while (nextOffsetParent && !scopes.has(nextOffsetParent.getRootNode())) {
|
|
869
|
+
value -= nextOffsetParent[offsetTopOrLeft];
|
|
870
|
+
nextOffsetParent = offsetParentPolyfill(nextOffsetParent);
|
|
871
|
+
}
|
|
872
|
+
return value;
|
|
873
|
+
}
|
|
776
874
|
//# sourceMappingURL=getBoxQuads.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBoxQuads.js","sourceRoot":"","sources":["../../../src/elements/helper/getBoxQuads.js"],"names":[],"mappings":"AAAA,OAAO;AACP,sFAAsF;AAEtF;;EAEE;AACF,MAAM,UAAU,WAAW,CAAC,SAAS,GAAG,MAAM;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,OAAO;YACpD,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrC,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACjD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE,OAAO;YAC1E,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3D,CAAC,CAAA;IACL,CAAC;AACL,CAAC;AAED;;EAEE;AACF,MAAM,UAAU,cAAc,CAAC,SAAS,GAAG,MAAM;IAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,OAAO;YACpD,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrC,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACjD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE,OAAO;YAC1E,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3D,CAAC,CAAA;IACL,CAAC;AACL,CAAC;AAED;;;;;;EAME;AACF,MAAM,UAAU,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;IACzD,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1G,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACpH,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACte,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClN,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnJ,GAAG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACzd,CAAC;IACD,OAAO,GAAG,CAAC;AAEf,CAAC;AAED;;;;;;EAME;AACF,MAAM,UAAU,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;IACzD,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnK,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7K,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjJ,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5V,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnJ,GAAG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACzd,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;EAME;AACF,MAAM,UAAU,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO;IAC3D,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnK,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACpH,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5H,CAAC;IACD,IAAI,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnJ,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;EAME;AACF,SAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ;IAClD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnB,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7H,CAAC;SAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IACvI,CAAC;SAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1M,CAAC;IACD,YAAY;IACZ,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,sCAAsC;AACtC,IAAI,IAAI,CAAC;AACT,uCAAuC;AACvC,IAAI,aAAa,CAAC;AAClB,uCAAuC;AACvC,IAAI,cAAc,CAAC;AACnB,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,MAAM,UAAU,UAAU;IACtB,aAAa,CAAC,KAAK,EAAE,CAAC;IACtB,cAAc,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,QAAQ;IACpB,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IACrB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AAC/B,CAAC;AAED;;;;EAIE;AACF,MAAM,UAAU,WAAW,CAAC,IAAI,EAAE,OAAO;IACrC,IAAI,GAAG,CAAC;IACR,IAAI,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAClE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC;YACD,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,wBAAwB;IACxB,IAAI,4CAA4C,GAAG,uDAAuD,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzK,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAC;IAE3F,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,yDAAyD;IACzD,YAAY;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,uCAAuC;IACvC,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAClG,IAAI,OAAO,EAAE,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjR,CAAC;aAAM,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzT,CAAC;aAAM,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACriB,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,yBAAyB;QACzB,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,CAAC;YACF,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;YAErC,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,4CAA4C,CAAC,CAAC,eAAe,CAAC,4CAA4C,CAAC,CAAC;QACxI,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,IAAI,aAAa;QACb,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,mGAAmG;AACnG,+BAA+B;AAE/B,uEAAuE;AACvE,+FAA+F;AAC/F;;EAEE;AACF,SAAS,YAAY,CAAC,KAAK,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC/D,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;EAGE;AACF,SAAS,SAAS,CAAC,KAAK;IACpB,OAAO,IAAI,QAAQ,CACf,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EACjB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CACpB,CAAC;AACN,CAAC;AAED;;;EAGE;AACF,MAAM,UAAU,cAAc,CAAC,IAAI,EAAE,MAAM;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1G,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QACzB,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAC/B,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QACrH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAA;IACtC,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,kBAAkB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/H,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC3B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QACrH,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACzC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnG,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QACjD,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC;AAED;;;;EAIE;AACF,SAAS,4BAA4B,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO;IAC9D,IAAI,CAAC,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1G,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC5C,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7E,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzM,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnG,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QACzC,0BAA0B;QAC1B,YAAY;QACZ,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC;QAC3C,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACzG,IAAI,CAAC,IAAI,YAAY,kBAAkB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;YAC1O,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,EAAE,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,GAAG,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,uDAAuD,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/F,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAE3C,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED;;;;EAIE;AACF,MAAM,UAAU,uDAAuD,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO;IAC3F,IAAI,GAAG,CAAC;IACR,IAAI,cAAc,EAAE,CAAC;QACjB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACtC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC;YACD,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,uBAAuB;IACvB,YAAY;IACZ,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,yBAAyB;IACzB,IAAI,mBAAmB,CAAC;IACxB,yBAAyB;IACzB,IAAI,4CAA4C,GAAG,2BAA2B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvG,IAAI,wBAAwB,GAAG,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACtF,IAAI,wBAAwB,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACvG,IAAI,CAAC,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,WAAW,CAAC,4CAA4C,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IACD,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,OAAO,aAAa,IAAI,QAAQ,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE7E,IAAI,aAAa,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,EAAE,GAAG,CAAC,wBAAwB,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAC1G,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjF,4CAA4C,GAAG,KAAK,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;YAChH,CAAC;QACL,CAAC;aACI,CAAC;YAEF,IAAI,CAAC,aAAa,YAAY,WAAW,IAAI,aAAa,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrI,IAAI,gBAAgB,KAAK,aAAa,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,aAAa,YAAY,eAAe,IAAI,aAAa,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;oBACnM,MAAM,OAAO,GAAG,4BAA4B,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC7F,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC;oBAC9C,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC9D,4CAA4C,GAAG,KAAK,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBAChH,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,4BAA4B,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC7F,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC9D,4CAA4C,GAAG,KAAK,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;YAChH,CAAC;QACL,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,mBAAmB,GAAG,2BAA2B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAE1E,IAAI,aAAa,IAAI,QAAQ;gBACzB,4CAA4C,GAAG,mBAAmB,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;YAE9H,wBAAwB,GAAG,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClF,IAAI,wBAAwB,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;gBACpH,IAAI,CAAC,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;oBACrC,WAAW,CAAC,4CAA4C,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,UAAU;oBACnD,4CAA4C,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBACzL,OAAO,4CAA4C,CAAC;YACxD,CAAC;QACL,CAAC;QACD,aAAa,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACjB,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,4CAA4C,CAAC;AACxD,CAAC;AAED;;;;EAIE;AACF,SAAS,8BAA8B,CAAC,IAAI,EAAE,OAAO;IACjD,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY;QACpH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,YAAY,UAAU,IAAI,IAAI,CAAC,UAAU,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9H,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,YAAY,eAAe,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;QAClH,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,OAAO;gBACnB,IAAI,CAAC,EAAE,eAAe,IAAI,IAAI,CAAC,aAAa;oBACxC,OAAO,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,CAAC;AAC9B,CAAC;AAED;;;EAGE;AACF,MAAM,UAAU,2BAA2B,CAAC,OAAO,EAAE,OAAO;IACxD,IAAI,CAAC,OAAO,YAAY,IAAI,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC;QAClG,OAAO,IAAI,SAAS,CAAC;IAEzB,6CAA6C;IAC7C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEhF,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAElE,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1C,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC;QACrB,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;gBACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACtD,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QACvC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEpD,YAAY;IACZ,MAAM,EAAE,GAAG,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACb,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;EAGE;AACF,SAAS,WAAW,CAAC,CAAC;IAClB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,oEAAoE;IACpE,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,mEAAmE;IACnE,mEAAmE;IACnE,0CAA0C;IAC1C,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1B,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;EAGE;AACF,SAAS,8BAA8B,CAAC,OAAO,EAAE,OAAO;IACpD,wBAAwB;IACxB,YAAY;IACZ,MAAM,eAAe,GAAG,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,eAAe,EAAE,CAAC;QAClB,2EAA2E;QAC3E,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACjB,+DAA+D;YAC/D,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;gBAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;gBAE1D,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;gBAE9D,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAI;IACtC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAU,0BAA0B;IACrE,MAAM,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC,CAAE,aAAa;IACxD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,CAAM,qCAAqC;IAChF,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IAErC,kCAAkC;IAClC,IAAI,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAEnD,qCAAqC;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEzE,uBAAuB;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,IAAI,SAAS,EAAE;SAC/B,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzC,IAAI,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAG,EAAE,IAAI;IAChC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;IAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAC/B,uCAAuC;IACvC,gDAAgD;IAChD,GAAG;IAEH,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,sCAAsC;QACtC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,IAAI,EAAE,IAAI;IAC7B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,WAAW;IACX,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACrB,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;QAC/B,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;QAC1B,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC;IAC/B,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAG;IAC5B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,oBAAoB;IACtD,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B;AACzD,CAAC;AAED,SAAS,UAAU,CAAC,GAAG;IACnB,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACnB,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ;IACtD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9C,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAC3B,OAAO,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5B,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1B,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QACzB,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QACzB,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QACxB,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5B,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3C,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAGD,SAAS,eAAe,CAAC,QAAQ,EAAE,QAAQ;IACvC,IAAI,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzD,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAElE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAEjE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzB,2BAA2B;IAC3B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpE,QAAQ;IACR,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;IAExC,kBAAkB;IAClB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACnB,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,4DAA4D;IAC5D,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;IAE7D,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAEvC,2BAA2B;IAC3B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,eAAe,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAEpD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1D,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnB,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAE/B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAErC,+BAA+B;IAC/B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAEzD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAErB,OAAO,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5E,2BAA2B;IAC3B,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB;IAChB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;IAEvB,eAAe;IACf,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC;IAElB,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;IAEpD,iBAAiB;IACjB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAEpC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAEjE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC;IAErB,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC;IAEzB,kBAAkB;IAClB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACX,WAAW;QACX,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACX,aAAa;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;QACnB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACX,cAAc;QACd,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,CAAC;IAEV,YAAY;IACZ,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"getBoxQuads.js","sourceRoot":"","sources":["../../../src/elements/helper/getBoxQuads.js"],"names":[],"mappings":"AAAA,OAAO;AACP,sFAAsF;AAEtF;;EAEE;AACF,MAAM,UAAU,WAAW,CAAC,SAAS,GAAG,MAAM;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,OAAO;YACpD,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrC,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACjD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE,OAAO;YAC1E,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3D,CAAC,CAAA;IACL,CAAC;AACL,CAAC;AAED;;EAEE;AACF,MAAM,UAAU,cAAc,CAAC,SAAS,GAAG,MAAM;IAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,OAAO;YACpD,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrC,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAChD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE,OAAO;YACxE,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC,CAAA;IACL,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACjD,YAAY;QACZ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE,OAAO;YAC1E,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3D,CAAC,CAAA;IACL,CAAC;AACL,CAAC;AAED;;;;;;EAME;AACF,MAAM,UAAU,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;IACzD,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1G,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACpH,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAClV,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClN,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnJ,GAAG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrU,CAAC;IACD,OAAO,GAAG,CAAC;AAEf,CAAC;AAED;;;;;;EAME;AACF,MAAM,UAAU,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;IACzD,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnK,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7K,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5G,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5V,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnJ,GAAG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrU,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;EAME;AACF,MAAM,UAAU,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO;IAC3D,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnK,MAAM,EAAE,GAAG,uDAAuD,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACpH,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnJ,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;EAME;AACF,SAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ;IAClD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnB,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7H,CAAC;SAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IACvI,CAAC;SAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1M,CAAC;IACD,YAAY;IACZ,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,sCAAsC;AACtC,IAAI,IAAI,CAAC;AACT,uCAAuC;AACvC,IAAI,aAAa,CAAC;AAClB,uCAAuC;AACvC,IAAI,cAAc,CAAC;AACnB,mDAAmD;AACnD,IAAI,kBAAkB,CAAC;AACvB,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,MAAM,UAAU,UAAU;IACtB,aAAa,CAAC,KAAK,EAAE,CAAC;IACtB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,kBAAkB,GAAG,IAAI,OAAO,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,QAAQ;IACpB,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IACrB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,kBAAkB,GAAG,IAAI,OAAO,EAAE,CAAC;AACvC,CAAC;AAED;;;EAGE;AACF,SAAS,sBAAsB,CAAC,OAAO;IACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChF,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;EAIE;AACF,MAAM,UAAU,WAAW,CAAC,IAAI,EAAE,OAAO;IACrC,IAAI,GAAG,CAAC;IACR,IAAI,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAClE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC;YACD,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,wBAAwB;IACxB,IAAI,4CAA4C,GAAG,uDAAuD,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzK,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAC;IAE3F,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7F,yDAAyD;IACzD,YAAY;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,uCAAuC;IACvC,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAClG,IAAI,OAAO,EAAE,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjR,CAAC;aAAM,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzT,CAAC;aAAM,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACriB,CAAC;IACL,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,yBAAyB;QACzB,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,CAAC;YACF,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;YAErC,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,4CAA4C,CAAC,CAAC,eAAe,CAAC,4CAA4C,CAAC,CAAC;QACxI,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,IAAI,aAAa;QACb,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,mGAAmG;AACnG,+BAA+B;AAE/B,uEAAuE;AACvE,+FAA+F;AAC/F;;EAEE;AACF,SAAS,YAAY,CAAC,KAAK,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC/D,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;EAGE;AACF,SAAS,SAAS,CAAC,KAAK;IACpB,OAAO,IAAI,QAAQ,CACf,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EACjB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CACpB,CAAC;AACN,CAAC;AAED;;;EAGE;AACF,MAAM,UAAU,cAAc,CAAC,IAAI,EAAE,MAAM;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1G,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QACzB,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAC/B,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QACrH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAA;IACtC,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,kBAAkB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/H,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC3B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QACrH,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACzC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnG,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QACjD,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC;AAED;;;;EAIE;AACF,SAAS,4BAA4B,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO;IAC9D,IAAI,CAAC,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1G,IAAI,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC5C,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzM,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnG,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QACzC,0BAA0B;QAC1B,YAAY;QACZ,MAAM,MAAM,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC;QAC3C,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACzG,IAAI,CAAC,IAAI,YAAY,kBAAkB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;YAC1O,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,EAAE,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,GAAG,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,uDAAuD,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACzG,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAEjC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED;;;;EAIE;AACF,MAAM,UAAU,uDAAuD,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO;IAC3F,IAAI,GAAG,CAAC;IACR,IAAI,cAAc,EAAE,CAAC;QACjB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,EAAE,KAAK,SAAS;YAChB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACtC,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC;YACD,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,uBAAuB;IACvB,YAAY;IACZ,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,yBAAyB;IACzB,IAAI,mBAAmB,CAAC;IACxB,yBAAyB;IACzB,IAAI,4CAA4C,GAAG,2BAA2B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvG,IAAI,wBAAwB,GAAG,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACtF,IAAI,wBAAwB,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,WAAW,CAAC,4CAA4C,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IACD,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,OAAO,aAAa,IAAI,QAAQ,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE7E,IAAI,aAAa,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,qBAAqB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC7D,MAAM,CAAC,GAAG,qBAAqB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,4CAA4C,GAAG,KAAK,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;QACpH,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,aAAa,YAAY,WAAW,IAAI,aAAa,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrI,IAAI,gBAAgB,KAAK,aAAa,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,aAAa,YAAY,eAAe,IAAI,aAAa,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;oBACnM,MAAM,OAAO,GAAG,4BAA4B,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC7F,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC;oBAC9C,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBAClE,4CAA4C,GAAG,KAAK,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;gBACpH,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,4BAA4B,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC7F,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClE,4CAA4C,GAAG,KAAK,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;YACpH,CAAC;QACL,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,mBAAmB,GAAG,2BAA2B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAE1E,IAAI,aAAa,IAAI,QAAQ;gBACzB,4CAA4C,GAAG,mBAAmB,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;YAE9H,wBAAwB,GAAG,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClF,IAAI,wBAAwB,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;gBAC3D,IAAI,CAAC,CAAC,cAAc,KAAK,aAAa,EAAE,CAAC;oBACrC,WAAW,CAAC,4CAA4C,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,UAAU;oBACnD,4CAA4C,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;gBACzL,OAAO,4CAA4C,CAAC;YACxD,CAAC;QACL,CAAC;QACD,aAAa,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACjB,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,4CAA4C,CAAC;AACxD,CAAC;AAED;;;;EAIE;AACF,SAAS,8BAA8B,CAAC,IAAI,EAAE,OAAO;IACjD,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY;QACpH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,YAAY,UAAU,IAAI,IAAI,CAAC,UAAU,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9H,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAChC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,YAAY,eAAe,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;QAClH,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,OAAO;gBACnB,IAAI,CAAC,EAAE,eAAe,IAAI,IAAI,CAAC,aAAa;oBACxC,OAAO,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,CAAC;AAC9B,CAAC;AAED;;;EAGE;AACF,MAAM,UAAU,2BAA2B,CAAC,OAAO,EAAE,OAAO;IACxD,IAAI,CAAC,OAAO,YAAY,IAAI,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC;QAClG,OAAO,IAAI,SAAS,CAAC;IAEzB,6CAA6C;IAC7C,IAAI,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAElE,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC;QACrB,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;gBACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YACtD,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QACvC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAE9C,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;IACZ,MAAM,EAAE,GAAG,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACb,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;;EAGE;AACF,SAAS,WAAW,CAAC,CAAC;IAClB,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACZ,oEAAoE;IACpE,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,mEAAmE;IACnE,mEAAmE;IACnE,0CAA0C;IAC1C,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1B,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QACf,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;EAGE;AACF,SAAS,8BAA8B,CAAC,OAAO,EAAE,OAAO;IACpD,wBAAwB;IACxB,YAAY;IACZ,MAAM,eAAe,GAAG,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,eAAe,EAAE,CAAC;QAClB,2EAA2E;QAC3E,IAAI,CAAC,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACjB,+DAA+D;YAC/D,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;gBAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;gBAE1D,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;gBAE9D,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAI;IACtC,MAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAU,0BAA0B;IACrE,MAAM,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC,CAAE,aAAa;IACxD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,CAAM,qCAAqC;IAChF,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;IACrC,MAAM,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;IAE3C,kCAAkC;IAClC,IAAI,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAEnD,qCAAqC;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEzE,uBAAuB;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAEtE,MAAM,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzE,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtC,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAEjC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACzB,GAAG,GAAG,eAAe,CAAC;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,sCAAsC;QACtC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,IAAI,EAAE,IAAI;IAC7B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,WAAW;IACX,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACrB,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;QAC/B,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;QAC1B,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC;IAC/B,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAG;IAC5B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,oBAAoB;IACtD,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B;AACzD,CAAC;AAED,SAAS,UAAU,CAAC,GAAG;IACnB,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACnB,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ;IACtD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAEhC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9C,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAC3B,OAAO,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5B,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1B,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QACzB,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QACzB,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QACxB,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5B,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3C,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAGD,SAAS,eAAe,CAAC,QAAQ,EAAE,QAAQ;IACvC,IAAI,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzD,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAElE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAEjE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzB,2BAA2B;IAC3B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpE,QAAQ;IACR,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;IAExC,kBAAkB;IAClB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACnB,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,4DAA4D;IAC5D,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;IAE7D,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAEvC,2BAA2B;IAC3B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,eAAe,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAEpD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1D,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnB,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAE/B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAErC,+BAA+B;IAC/B,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAEzD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAErB,OAAO,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5E,2BAA2B;IAC3B,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB;IAChB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;IAEvB,eAAe;IACf,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC;IAElB,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;IAEpD,iBAAiB;IACjB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAEpC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IAEjE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC;IAErB,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC;IAEzB,kBAAkB;IAClB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACX,WAAW;QACX,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACX,aAAa;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;QACnB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACX,cAAc;QACd,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,CAAC;IAEV,YAAY;IACZ,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,6FAA6F;AAE7F,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AACzF,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAChG,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE/D,SAAS,SAAS,CAAC,KAAK;IACpB,OAAO,KAAK,YAAY,OAAO,IAAI,KAAK,YAAY,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC;AACnG,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,YAAY;IACnC,mCAAmC;IACnC,YAAY;IACZ,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAEpF,qGAAqG;IACrG,mEAAmE;IACnE,OAAO,CACH,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/E,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5C,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxE,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACrE,CAAC;AACN,CAAC;AAED,wFAAwF;AACxF,SAAS,cAAc,CAAC,OAAO;IAC3B,IAAI,OAAO,CAAC,YAAY;QACpB,OAAO,OAAO,CAAC,YAAY,CAAC;IAChC,IAAI,OAAO,CAAC,UAAU,YAAY,UAAU;QACxC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IACnC,OAAO,OAAO,CAAC,UAAU,CAAC;AAC9B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAO;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,YAAY,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzB,YAAY,GAAG,YAAY,CAAC,UAAU;YAClC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE;YACvC,CAAC,CAAC,IAAI,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAO;IACjC,0DAA0D;IAC1D,KAAK,IAAI,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,CAAC,QAAQ,YAAY,OAAO,CAAC;YAC9B,SAAS;QACb,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC,OAAO,KAAK,MAAM;YACnD,OAAO,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,IAAI,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzF,IAAI,CAAC,CAAC,QAAQ,YAAY,OAAO,CAAC;YAC9B,SAAS;QACb,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU;YAC5B,SAAS;QACb,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACvD,OAAO,QAAQ,CAAC;QACpB,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM;YAC3B,OAAO,QAAQ,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,OAAO,EAAE,eAAe;IACnD,IAAI,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO,gBAAgB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACrE,KAAK,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC3C,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|