bruce-cesium 7.5.2 → 7.5.4
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/bruce-cesium.es5.js +358 -104
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +356 -102
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/entity-gatherer.js +3 -0
- package/dist/lib/rendering/entity-gatherer.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine-model3d.js +8 -3
- package/dist/lib/rendering/entity-render-engine-model3d.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine.js +0 -3
- package/dist/lib/rendering/entity-render-engine.js.map +1 -1
- package/dist/lib/rendering/tileset-styler.js +176 -44
- package/dist/lib/rendering/tileset-styler.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +37 -0
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/cesium-entity-styler.js +49 -0
- package/dist/lib/utils/cesium-entity-styler.js.map +1 -1
- package/dist/lib/utils/entity-utils.js +78 -55
- package/dist/lib/utils/entity-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/entity-gatherer.d.ts +1 -0
- package/dist/types/rendering/entity-render-engine.d.ts +5 -3
- package/dist/types/rendering/menu-item-manager.d.ts +2 -2
- package/dist/types/rendering/tileset-styler.d.ts +59 -0
- package/dist/types/rendering/visuals-register.d.ts +5 -0
- package/dist/types/utils/cesium-entity-styler.d.ts +20 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TilesetStyler = exports.isOutlineChanged = void 0;
|
|
3
|
+
exports.TilesetStyler = exports.isOutlineChanged = exports.getBakedAttributes = void 0;
|
|
4
4
|
const bruce_models_1 = require("bruce-models");
|
|
5
5
|
const Cesium = require("cesium");
|
|
6
6
|
const cesium_entity_styler_1 = require("../utils/cesium-entity-styler");
|
|
@@ -24,6 +24,25 @@ function correctStyle(style) {
|
|
|
24
24
|
}
|
|
25
25
|
return style;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Reads the baked attribute declaration from a loaded tileset, keyed by path.
|
|
29
|
+
* @param cTileset
|
|
30
|
+
*/
|
|
31
|
+
function getBakedAttributes(cTileset) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const result = new Map();
|
|
34
|
+
const declared = (_b = (_a = cTileset === null || cTileset === void 0 ? void 0 : cTileset.extras) === null || _a === void 0 ? void 0 : _a.bruce) === null || _b === void 0 ? void 0 : _b.bakedAttributes;
|
|
35
|
+
if (!Array.isArray(declared)) {
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
for (const baked of declared) {
|
|
39
|
+
if (Array.isArray(baked === null || baked === void 0 ? void 0 : baked.path) && baked.path.length && typeof baked.property == "string") {
|
|
40
|
+
result.set(JSON.stringify(baked.path), baked);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
exports.getBakedAttributes = getBakedAttributes;
|
|
27
46
|
function colorToCColor(color) {
|
|
28
47
|
return new Cesium.Color(color.red ? color.red / 255 : 0, color.green ? color.green / 255 : 0, color.blue ? color.blue / 255 : 0, color.alpha);
|
|
29
48
|
}
|
|
@@ -95,6 +114,10 @@ class TilesetStyler {
|
|
|
95
114
|
// When false the Entity data is still gathered and the regos still updated, but no colour is
|
|
96
115
|
// applied. A historic item that did not ask for styling needs the first without the second.
|
|
97
116
|
this.applyStyles = true;
|
|
117
|
+
// Attribute values the tiles carry per feature, keyed by JSON path. Empty for a tileset without them.
|
|
118
|
+
this.bakedAttributes = new Map();
|
|
119
|
+
// Entities changed since the tileset was generated, so their baked values can no longer be trusted.
|
|
120
|
+
this.bakedStaleIds = new Set();
|
|
98
121
|
this.reRenderState = new entity_rerender_maintain_state_1.EntityReRenderMaintainState();
|
|
99
122
|
// More expensive process.
|
|
100
123
|
// When an Entity is styled, the rego is reviewed and updated if needed.
|
|
@@ -136,6 +159,7 @@ class TilesetStyler {
|
|
|
136
159
|
this.viewer = viewer;
|
|
137
160
|
this.api = api;
|
|
138
161
|
this.cTileset = cTileset;
|
|
162
|
+
this.bakedAttributes = getBakedAttributes(cTileset);
|
|
139
163
|
this.register = register;
|
|
140
164
|
this.menuItemId = menuItemId;
|
|
141
165
|
this.historic = Boolean(historic);
|
|
@@ -214,6 +238,7 @@ class TilesetStyler {
|
|
|
214
238
|
for (const [internalId, entityId] of this.styledByInternalId) {
|
|
215
239
|
if (bruce_models_1.RecordChangeFeed.isEntityInternalIdInRangeString(rangeStr, internalId)) {
|
|
216
240
|
this.feedPendingRestyleIds.add(entityId);
|
|
241
|
+
this.bakedStaleIds.add(entityId);
|
|
217
242
|
}
|
|
218
243
|
}
|
|
219
244
|
if (this.feedPendingRestyleIds.size && !this.feedRestyleThrottleTimer) {
|
|
@@ -453,8 +478,6 @@ class TilesetStyler {
|
|
|
453
478
|
console.error(e);
|
|
454
479
|
}
|
|
455
480
|
// Before we start the loop we'll do a single request for the needed Entity Types.
|
|
456
|
-
// This will be aimed at rows that don't specify a Style and if the default fallback-
|
|
457
|
-
//is set to 0 (using the default of the Entity Type).
|
|
458
481
|
const typeMap = new Map();
|
|
459
482
|
const typeIds = styleMapping.map(x => x.StyleID == -1 || Boolean(x.style) ? null : x.EntityTypeID).filter(x => !!x);
|
|
460
483
|
if (typeIds.length) {
|
|
@@ -520,23 +543,7 @@ class TilesetStyler {
|
|
|
520
543
|
}
|
|
521
544
|
this.styleMappingsLoaded.set(styleMap.EntityTypeID, true);
|
|
522
545
|
if (this.loaded) {
|
|
523
|
-
|
|
524
|
-
// then we can pass them to the gatherer now.
|
|
525
|
-
const relatedIds = this.stylePendingEntityIds.get(styleMap.EntityTypeID);
|
|
526
|
-
if (relatedIds) {
|
|
527
|
-
if (this.getTilesetFeatureNeedsFullData(styleMap.EntityTypeID)) {
|
|
528
|
-
this.entityGatherer.Queue(Array.from(relatedIds));
|
|
529
|
-
}
|
|
530
|
-
else {
|
|
531
|
-
relatedIds.forEach(id => {
|
|
532
|
-
const rego = this.getEntityRego(id);
|
|
533
|
-
if (rego) {
|
|
534
|
-
this.styleTilesetFeature(rego);
|
|
535
|
-
}
|
|
536
|
-
});
|
|
537
|
-
}
|
|
538
|
-
this.stylePendingEntityIds.delete(styleMap.EntityTypeID);
|
|
539
|
-
}
|
|
546
|
+
this.flushPendingForType(styleMap.EntityTypeID);
|
|
540
547
|
}
|
|
541
548
|
}
|
|
542
549
|
if (this.loadingCounter != counter) {
|
|
@@ -552,22 +559,63 @@ class TilesetStyler {
|
|
|
552
559
|
for (const key of pendingKeys) {
|
|
553
560
|
const relatedIds = this.stylePendingEntityIds.get(key);
|
|
554
561
|
if (relatedIds) {
|
|
555
|
-
|
|
556
|
-
this.entityGatherer.Queue(Array.from(relatedIds));
|
|
557
|
-
}
|
|
558
|
-
else {
|
|
559
|
-
relatedIds.forEach(id => {
|
|
560
|
-
const rego = this.getEntityRego(id);
|
|
561
|
-
if (rego) {
|
|
562
|
-
this.styleTilesetFeature(rego);
|
|
563
|
-
}
|
|
564
|
-
});
|
|
565
|
-
}
|
|
562
|
+
this.styleOrGatherIds(key, relatedIds);
|
|
566
563
|
}
|
|
567
564
|
}
|
|
568
565
|
this.stylePendingEntityIds.clear();
|
|
569
566
|
}
|
|
570
567
|
}
|
|
568
|
+
/**
|
|
569
|
+
* Passes the Entities waiting on an Entity Type's style on to be styled, now that the style is known.
|
|
570
|
+
* @param entityTypeId
|
|
571
|
+
*/
|
|
572
|
+
flushPendingForType(entityTypeId) {
|
|
573
|
+
const relatedIds = this.stylePendingEntityIds.get(entityTypeId);
|
|
574
|
+
if (!relatedIds) {
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
577
|
+
this.styleOrGatherIds(entityTypeId, relatedIds);
|
|
578
|
+
this.stylePendingEntityIds.delete(entityTypeId);
|
|
579
|
+
}
|
|
580
|
+
hasMappingRow(entityTypeId) {
|
|
581
|
+
var _a;
|
|
582
|
+
return Boolean((_a = this.styleMapping) === null || _a === void 0 ? void 0 : _a.some(x => x.EntityTypeID == entityTypeId));
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Loads the default style of an Entity Type that the style mapping does not list.
|
|
586
|
+
* @param entityTypeId
|
|
587
|
+
*/
|
|
588
|
+
async loadEntityTypeDefaultStyle(entityTypeId) {
|
|
589
|
+
const counter = this.loadingCounter;
|
|
590
|
+
const styleMap = { EntityTypeID: entityTypeId, StyleID: 0, style: null };
|
|
591
|
+
this.styleMapping.push(styleMap);
|
|
592
|
+
try {
|
|
593
|
+
const { entityType } = await bruce_models_1.EntityType.Get({
|
|
594
|
+
api: this.api,
|
|
595
|
+
entityTypeId
|
|
596
|
+
});
|
|
597
|
+
const styleId = entityType === null || entityType === void 0 ? void 0 : entityType["DisplaySetting.ID"];
|
|
598
|
+
if (styleId && styleId != -1) {
|
|
599
|
+
const { style } = await bruce_models_1.Style.Get({
|
|
600
|
+
api: this.api,
|
|
601
|
+
styleId
|
|
602
|
+
});
|
|
603
|
+
if (style) {
|
|
604
|
+
styleMap.style = style;
|
|
605
|
+
styleMap.StyleID = styleId;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
catch (e) {
|
|
610
|
+
console.error(e);
|
|
611
|
+
}
|
|
612
|
+
// A reload in the meantime resolves the row itself, or replaces the mapping and re-queues everything.
|
|
613
|
+
if (this.disposed || this.loadingCounter != counter) {
|
|
614
|
+
return;
|
|
615
|
+
}
|
|
616
|
+
this.styleMappingsLoaded.set(entityTypeId, true);
|
|
617
|
+
this.flushPendingForType(entityTypeId);
|
|
618
|
+
}
|
|
571
619
|
disposeGatherer() {
|
|
572
620
|
if (this.feedRestyleThrottleTimer) {
|
|
573
621
|
clearTimeout(this.feedRestyleThrottleTimer);
|
|
@@ -606,21 +654,15 @@ class TilesetStyler {
|
|
|
606
654
|
this.overrideFeatureColor.set(rego.entityId, false);
|
|
607
655
|
}
|
|
608
656
|
const typeId = rego.entityTypeId || "";
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
}
|
|
657
|
+
// With no fallback style to use instead, a type the mapping does not list falls back to its own default.
|
|
658
|
+
if (this.styleMappingLoaded && typeId && !this.fallbackStyle && !this.hasMappingRow(typeId)) {
|
|
659
|
+
this.loadEntityTypeDefaultStyle(typeId);
|
|
660
|
+
}
|
|
661
|
+
if (this.styleMappingsLoaded.get(typeId) || (this.styleMappingLoaded && !this.hasMappingRow(typeId))) {
|
|
662
|
+
this.styleOrCollect(rego, typeId, needsDataIds);
|
|
616
663
|
}
|
|
617
664
|
else if (!this.styleMappingsLoaded.has(typeId) && this.styleFallbackLoaded) {
|
|
618
|
-
|
|
619
|
-
needsDataIds.push(rego.entityId);
|
|
620
|
-
}
|
|
621
|
-
else {
|
|
622
|
-
this.styleTilesetFeature(rego);
|
|
623
|
-
}
|
|
665
|
+
this.styleOrCollect(rego, typeId, needsDataIds);
|
|
624
666
|
}
|
|
625
667
|
else {
|
|
626
668
|
if (!this.stylePendingEntityIds.has(typeId)) {
|
|
@@ -633,6 +675,96 @@ class TilesetStyler {
|
|
|
633
675
|
this.entityGatherer.Queue(needsDataIds, highPriority);
|
|
634
676
|
}
|
|
635
677
|
}
|
|
678
|
+
/**
|
|
679
|
+
* Styles each Entity waiting on a type's style, gathering the records of those that need one.
|
|
680
|
+
* @param entityTypeId
|
|
681
|
+
* @param entityIds
|
|
682
|
+
*/
|
|
683
|
+
styleOrGatherIds(entityTypeId, entityIds) {
|
|
684
|
+
const gatherIds = [];
|
|
685
|
+
for (const id of entityIds) {
|
|
686
|
+
const rego = this.getEntityRego(id);
|
|
687
|
+
if (rego) {
|
|
688
|
+
this.styleOrCollect(rego, entityTypeId, gatherIds);
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
if (gatherIds.length) {
|
|
692
|
+
this.entityGatherer.Queue(gatherIds);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Styles a feature now when its style reads no record, or reads only values its tile carries, and otherwise collects it for gathering.
|
|
697
|
+
* @param rego
|
|
698
|
+
* @param entityTypeId
|
|
699
|
+
* @param gatherIds Receives the Entity ID when its record is needed.
|
|
700
|
+
*/
|
|
701
|
+
styleOrCollect(rego, entityTypeId, gatherIds) {
|
|
702
|
+
if (!this.getTilesetFeatureNeedsFullData(entityTypeId)) {
|
|
703
|
+
this.styleTilesetFeature(rego);
|
|
704
|
+
return;
|
|
705
|
+
}
|
|
706
|
+
const record = this.canStyleFromBaked(rego.entityId, entityTypeId) ? this.readBakedRecord(rego.visual) : null;
|
|
707
|
+
if (!record) {
|
|
708
|
+
gatherIds.push(rego.entityId);
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
this.styleTilesetFeatureFullData(rego, record, []);
|
|
712
|
+
// A later edit has to reach the record path, and the change feed finds Entities by Internal ID.
|
|
713
|
+
if (rego.internalId != null) {
|
|
714
|
+
this.styledByInternalId.set(rego.internalId, rego.entityId);
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
/**
|
|
718
|
+
* Returns if the tile's baked values hold everything this Entity's style would read from its record.
|
|
719
|
+
* @param entityId
|
|
720
|
+
* @param entityTypeId
|
|
721
|
+
*/
|
|
722
|
+
canStyleFromBaked(entityId, entityTypeId) {
|
|
723
|
+
var _a, _b, _c;
|
|
724
|
+
// Baked values are the base record at generation time, which a scenario, a point in time or merged sources all differ from.
|
|
725
|
+
if (!this.bakedAttributes.size || this.historic || !!this.scenario || this.expandSources) {
|
|
726
|
+
return false;
|
|
727
|
+
}
|
|
728
|
+
if (this.bakedStaleIds.has(entityId) || ((_a = this.entityGatherer) === null || _a === void 0 ? void 0 : _a.HasEntityDataOverride(entityId))) {
|
|
729
|
+
return false;
|
|
730
|
+
}
|
|
731
|
+
const paths = bruce_models_1.Calculator.GetFieldPaths((_c = (_b = this.getTilesetFeatureStyle(entityTypeId)) === null || _b === void 0 ? void 0 : _b.modelStyle) === null || _c === void 0 ? void 0 : _c.fillColor);
|
|
732
|
+
return paths != null && paths.every(path => this.bakedAttributes.has(JSON.stringify(path)));
|
|
733
|
+
}
|
|
734
|
+
/**
|
|
735
|
+
* Builds a stand-in record from a feature's baked values, holding only the attributes that have one.
|
|
736
|
+
* Returns null when the feature's tile lacks a declared column, so the record is gathered instead.
|
|
737
|
+
* @param visual
|
|
738
|
+
*/
|
|
739
|
+
readBakedRecord(visual) {
|
|
740
|
+
if (!(visual instanceof Cesium.Cesium3DTileFeature)) {
|
|
741
|
+
return null;
|
|
742
|
+
}
|
|
743
|
+
const record = {};
|
|
744
|
+
for (const baked of this.bakedAttributes.values()) {
|
|
745
|
+
if (!visual.hasProperty(baked.property)) {
|
|
746
|
+
return null;
|
|
747
|
+
}
|
|
748
|
+
let value = visual.getProperty(baked.property);
|
|
749
|
+
if (value == null) {
|
|
750
|
+
continue;
|
|
751
|
+
}
|
|
752
|
+
// Booleans travel as 0/1 because a boolean column has no way to say "no value".
|
|
753
|
+
if (baked.type == "BOOLEAN") {
|
|
754
|
+
value = value != 0;
|
|
755
|
+
}
|
|
756
|
+
let target = record;
|
|
757
|
+
for (let i = 0; i < baked.path.length - 1; i++) {
|
|
758
|
+
const segment = baked.path[i];
|
|
759
|
+
if (target[segment] == null || typeof target[segment] != "object") {
|
|
760
|
+
target[segment] = {};
|
|
761
|
+
}
|
|
762
|
+
target = target[segment];
|
|
763
|
+
}
|
|
764
|
+
target[baked.path[baked.path.length - 1]] = value;
|
|
765
|
+
}
|
|
766
|
+
return record;
|
|
767
|
+
}
|
|
636
768
|
styleTilesetFeature(rego) {
|
|
637
769
|
this.styleTilesetFeatureFullData(rego, null, []);
|
|
638
770
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-styler.js","sourceRoot":"","sources":["../../../src/rendering/tileset-styler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tileset-styler.js","sourceRoot":"","sources":["../../../src/rendering/tileset-styler.ts"],"names":[],"mappings":";;;AAAA,+CAA2J;AAC3J,iCAAiC;AACjC,wEAAmE;AACnE,uDAAmD;AACnD,4GAAsG;AACtG,iEAAwD;AACxD,yDAAqD;AAGrD,4DAA4D;AAC5D,qEAAqE;AACrE,2CAA2C;AAC3C,SAAS,YAAY,CAAC,KAAyB;IAC3C,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;QACvC,OAAO;YACH,EAAE,EAAE,CAAC,CAAC;YACN,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACN,GAAG,KAA8B;aACpC;YACD,IAAI,EAAE,oBAAK,CAAC,KAAK,CAAC,MAAM;SAC3B,CAAA;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AA2BD;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,QAAgC;;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAA,MAAC,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,MAAM,0CAAE,KAAK,0CAAE,eAAe,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO,MAAM,CAAC;KACjB;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE;YACtF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;SACjD;KACJ;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAZD,gDAYC;AAED,SAAS,aAAa,CAAC,KAAmB;IACtC,OAAO,IAAI,MAAM,CAAC,KAAK,CACnB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACjC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC/B,KAAK,CAAC,KAAK,CACd,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAiC,EAAE,MAAsB;;IACtF,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,MAAM,MAAI,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,OAAO,0CAAE,MAAM,CAAA,EAAE;QACzD,OAAO,IAAI,CAAC;KACf;SACI,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA,IAAI,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,OAAO,CAAA,EAAE;QAChD,OAAO,KAAK,CAAC;KAChB;SACI,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA,IAAI,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,OAAO,CAAA,EAAE;QAChD,OAAO,IAAI,CAAC;KACf;IACD,qBAAqB;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;YACjC,OAAO,IAAI,CAAC;SACf;aACI,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;YAC9C,OAAO,IAAI,CAAC;SACf;aACI,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;YAC9C,OAAO,IAAI,CAAC;SACf;aACI,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;YAC9C,OAAO,IAAI,CAAC;SACf;aACI,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,WAAW,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC;SACf;aACI,IAAI,QAAQ,CAAC,sBAAsB,CAAC,KAAK,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YAC5E,OAAO,IAAI,CAAC;SACf;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAlCD,4CAkCC;AAED,MAAa,aAAa;IAA1B;QAEY,aAAQ,GAAY,KAAK,CAAC;QAIlC,6EAA6E;QACrE,WAAM,GAAY,KAAK,CAAC;QAehC,gDAAgD;QACxC,uBAAkB,GAAY,KAAK,CAAC;QAC5C,qFAAqF;QAC7E,wBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAC;QAEzD,8EAA8E;QAC9E,8DAA8D;QACtD,0BAAqB,GAA6B,IAAI,GAAG,EAAuB,CAAC;QAEjF,kBAAa,GAAsB,IAAI,CAAC;QACxC,wBAAmB,GAAY,KAAK,CAAC;QAErC,mBAAc,GAAG,CAAC,CAAC;QAC3B,8EAA8E;QACtE,yBAAoB,GAAG,IAAI,GAAG,EAAmB,CAAC;QAClD,aAAQ,GAAoB,CAAC,CAAC;QAEtC,6DAA6D;QACrD,kBAAa,GAAY,KAAK,CAAC;QACvC,qDAAqD;QACrD,uEAAuE;QAC/D,aAAQ,GAAY,KAAK,CAAC;QAClC,6FAA6F;QAC7F,4FAA4F;QACpF,gBAAW,GAAY,IAAI,CAAC;QAEpC,sGAAsG;QAC9F,oBAAe,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC7D,oGAAoG;QAC5F,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,kBAAa,GAAG,IAAI,4DAA2B,EAAE,CAAC;QAE1D,0BAA0B;QAC1B,wEAAwE;QACxE,2FAA2F;QACnF,2BAAsB,GAAY,KAAK,CAAC;QAEhD,8BAA8B;QAC9B,iCAAiC;QACzB,oBAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;QACrD,uDAAuD;QACvD,0EAA0E;QAClE,uBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvD,0DAA0D;QAClD,YAAO,GAAwB,IAAI,CAAC;QAC5C,oEAAoE;QAC5D,0BAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,6BAAwB,GAAyC,IAAI,CAAC;QAC9E,4DAA4D;QAC5D,mDAAmD;QAC3C,mBAAc,GAAW,CAAC,CAAC;QAI3B,wBAAmB,GAAG,IAAI,yBAAU,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,6CAA6C;QACtC,oBAAe,GAAuB,IAAI,yBAAU,EAAU,CAAC;IA0xB1E,CAAC;IAx2BG,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAgED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAQM,IAAI,CAAC,MAaX;;QACG,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAErJ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,WAAW,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;SAC3C;QAED,IAAI,aAAa,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;SACtC;QACD,IAAI,eAAe,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;SAC1C;QACD,IAAI,YAAY,EAAE;YACd,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,eAAe;gBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACrE;YAED,4DAA4D;YAC5D,qEAAqE;YACrE,2CAA2C;YAC3C,sFAAsF;YACtF,IAAI,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,EAAE;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,OAAe,CAAC,KAAK,CAAC;oBACxE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;iBACvD;aACJ;SACJ;QACD,IAAI,QAAQ,IAAI,IAAI,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC5B;QACD,IAAI,CAAC,CAAC,QAAQ,EAAE;YACZ,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACtC;aACI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACtC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;gBACnB,OAAO;aACV;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,OAAO,EAAE;oBACT,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAC,OAAA,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAG,UAAU,CAAC,0CAAE,MAAM,MAAI,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAG,UAAU,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAA,EAAA,CAAC,CAAC;oBACnH,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;iBAC5D;aACJ;QACL,CAAC,CAAC,CAAC;QACH,wFAAwF;QACxF,4DAA4D;QAC5D,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,EAAE;;YAC/C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,0CAAE,MAAyB,CAAC;YACvE,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,GAAG,0CAAE,gBAAgB,CAAC;QACxC,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CACzB;gBACI,QAAQ,EAAE,CAAC,6BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC1C,OAAO,EAAE,CAAC,GAAG,CAAC;aACjB,EACD,CAAC,KAAK,EAAE,EAAE;gBACN,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACvD,OAAO;iBACV;gBACD,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,QAAQ,EAAE;oBACX,OAAO;iBACV;gBACD,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC1D,IAAI,+BAAgB,CAAC,+BAA+B,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;wBACxE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACpC;iBACJ;gBACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBACnE,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;wBACrC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;4BAC3E,OAAO;yBACV;wBACD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;wBAC5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;wBACnC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACzC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACZ;YACL,CAAC,CACJ,CAAC;SACL;IACL,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,MAOzB;;QACG,IAAI,MAAM,CAAC,YAAY,EAAE;YACrB,eAAe;YACf,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YAExC,4DAA4D;YAC5D,qEAAqE;YACrE,2CAA2C;YAC3C,sFAAsF;YACtF,IAAI,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,EAAE;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,OAAe,CAAC,KAAK,CAAC;oBACxE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;iBACvD;aACJ;SACJ;QACD,IAAI,MAAM,CAAC,eAAe,IAAI,IAAI,IAAI,MAAM,CAAC,eAAe,IAAI,SAAS,IAAI,MAAM,CAAC,eAAe,IAAI,EAAE,EAAE;YACvG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;SACjD;QACD,IAAI,MAAM,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;SAC7C;aACI;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACjD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACtC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACrD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACtC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;SACnC;QACD,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,IAAI,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,EAAE;gBAC5C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACtC;YACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;SAC7C;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpC,mDAAmD;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACjC,UAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7B;IACL,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,SAAmB,EAAE,QAA2B,EAAE,QAAe;QACnF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACxF,OAAO;SACV;QACD,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,EAAE;YACpB,OAAO;SACV;QAED,IAAI,QAAQ,KAAK,IAAI,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACtD;aACI,IAAI,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;SACzD;QAED,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE;YACxE,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;SAC3E;QAED,yDAAyD;QACzD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,IAAI,iBAAiB,EAAE;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,MAAM,CAAC,KAAK,EAAE;oBACd,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;iBAC3C;aACJ;SACJ;QACD,gDAAgD;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SACjF;IACL,CAAC;IAEM,aAAa,CAAC,KAAoC,EAAE,eAAwB,KAAK;QACpF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,mBAAmB;YACnB,OAAO;SACV;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEnD,8EAA8E;YAC9E,yCAAkB,CAAC,gBAAgB,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;SACN;QAED,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,mBAAmB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACzC,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,IAAI,MAAM,GAAG,KAAK,EAAE;YAChB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE;gBACd,QAAQ,GAAG,CAAC,CAAC;aAChB;iBACI,IAAI,QAAQ,GAAG,GAAG,EAAE;gBACrB,QAAQ,GAAG,GAAG,CAAC;aAClB;SACJ;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,QAAQ,EAAE;YACjC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC1C;IACL,CAAC;IAEO,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;IAEM,OAAO;;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QACnC,MAAA,IAAI,CAAC,OAAO,oDAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;SACxC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,UAAU;;QACpB,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAEjC,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE5D,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,IAAI,eAAe,IAAI,eAAe,IAAI,CAAC,CAAC,EAAE;YAC1C,IAAI;gBACA,IAAI,EAAC,KAAK,EAAE,IAAI,EAAC,GAAG,MAAM,oBAAK,CAAC,GAAG,CAAC;oBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;oBAChC,OAAO;iBACV;gBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACnC;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB;SACJ;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;YAChC,OAAO;SACV;QAED,mCAAmC;QACnC,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE;YACf,YAAY,GAAG,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,iCAAiC;QACjC,qFAAqF;QACrF,IAAI;YACA,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,UAAU,0CAAE,SAAS,CAAC;YACvD,IAAI,SAAS,EAAE;gBACX,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;gBACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;wBACnE,YAAY,CAAC,IAAI,CAAC;4BACd,YAAY,EAAE,YAAY;4BAC1B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;4BACjD,KAAK,EAAE,IAAI,CAAC,aAAa;yBAC5B,CAAC,CAAC;qBACN;iBACJ;aACJ;SACJ;QACD,OAAO,CAAC,EAAE;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,kFAAkF;QAClF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpH,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,qCAAqC;YACrC,gFAAgF;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,EAAE,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;gBAChE,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,yBAAU,CAAC,OAAO,CAAC;oBAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,aAAa,EAAE,KAAK;iBACvB,CAAC,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;iBAC1C;aACJ;SACJ;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM;aACT;YAED,IAAI,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE;gBAC3C,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAE/B,2CAA2C;gBAC3C,kCAAkC;gBAClC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBACjC,IAAI;wBACA,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;wBACpD,sEAAsE;wBACtE,IAAI,CAAC,UAAU,EAAE;4BACb,UAAU,GAAG,CAAC,MAAM,yBAAU,CAAC,GAAG,CAAC;gCAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;gCACb,YAAY,EAAE,QAAQ,CAAC,YAAY;6BACtC,CAAC,CAAC,CAAC,UAAU,CAAC;yBAClB;wBACD,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,mBAAmB,CAAC,CAAC;qBAC/C;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;gBAED,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE;oBAC1B,IAAI;wBACA,IAAI,EAAC,KAAK,EAAE,IAAI,EAAC,GAAG,MAAM,oBAAK,CAAC,GAAG,CAAC;4BAChC,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,OAAO;yBACV,CAAC,CAAC;wBACH,IAAI,IAAI,EAAE;4BACN,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;4BACtB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;yBAC9B;qBACJ;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;iBACJ;gBAED,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;oBAChC,OAAO;iBACV;aACJ;YAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;aACnD;SACJ;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;YAChC,OAAO;SACV;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;gBAChC,OAAO;aACV;YAED,+CAA+C;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;YACtD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvD,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;iBAC1C;aACJ;YACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;SACtC;IACL,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,YAAoB;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,EAAE;YACb,OAAO;SACV;QACD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,YAAoB;;QACtC,OAAO,OAAO,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CAAC,YAAoB;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,MAAM,QAAQ,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,CAAoB,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI;YACA,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAU,CAAC,GAAG,CAAC;gBACxC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,YAAY;aACf,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,mBAAmB,CAAC,CAAC;YAClD,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE;gBAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAK,CAAC,GAAG,CAAC;oBAC9B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO;iBACV,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE;oBACP,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;oBACvB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;iBAC9B;aACJ;SACJ;QACD,OAAO,CAAC,EAAE;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,sGAAsG;QACtG,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;YACjD,OAAO;SACV;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAEO,eAAe;QACnB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;SACxC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;IACL,CAAC;IAEO,6BAA6B,CAAC,SAAc;QAChD,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,CAAC,mCAAmC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACnE,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,mCAAmC,CAAC,MAAW,EAAE,GAAa;QAClE,IAAI,MAAM,EAAE;YACR,4CAA4C;YAC5C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC/C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC3B;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7C,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;iBACxD;aACJ;SACJ;IACL,CAAC;IAEO,wBAAwB,CAAC,QAAuC,EAAE,YAAqB;QAC3F,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aACvD;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YACvC,yGAAyG;YACzG,IAAI,IAAI,CAAC,kBAAkB,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;gBACzF,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;aAC3C;YACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE;gBAClG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;aACnD;iBACI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBACxE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;aACnD;iBACI;gBACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBACzC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;iBAC7D;gBACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC7D;SACJ;QAED,IAAI,YAAY,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SACzD;IACL,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,YAAoB,EAAE,SAA2B;QACtE,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;aACtD;SACJ;QACD,IAAI,SAAS,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACxC;IACL,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,IAAiC,EAAE,YAAoB,EAAE,SAAmB;QAC/F,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC,EAAE;YACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO;SACV;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,CAAC,MAAM,EAAE;YACT,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO;SACV;QACD,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,gGAAgG;QAChG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;IACL,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,QAAgB,EAAE,YAAoB;;QAC5D,4HAA4H;QAC5H,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;YACtF,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA,EAAE;YAC1F,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,KAAK,GAAG,yBAAU,CAAC,aAAa,CAAC,MAAA,MAAA,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,0CAAE,UAAU,0CAAE,SAAS,CAAC,CAAC;QACzG,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,MAAW;QAC/B,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,mBAAmB,CAAC,EAAE;YACjD,OAAO,IAAI,CAAC;SACf;QACD,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACrC,OAAO,IAAI,CAAC;aACf;YACD,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,SAAS;aACZ;YACD,gFAAgF;YAChF,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;gBACzB,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;aACtB;YACD,IAAI,MAAM,GAAG,MAAM,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE;oBAC/D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;iBACxB;gBACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;aAC5B;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,mBAAmB,CAAC,IAAiC;QACzD,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAO,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEO,2BAA2B,CAAC,IAAiC,EAAE,IAAoB,EAAE,IAAsB;;QAC/G,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,mBAAmB,CAAC,EAAE;YAC5D,OAAO;SACV;QACD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3G,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,KAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,SAAS,CAAA,CAAC,CAAC,CAAC,CAAC,yBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAExL,+FAA+F;QAC/F,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACtE,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC;YACpC,MAAM,MAAM,GAAiB,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEzF,yCAAkB,CAAC,eAAe,CAAC;gBAC/B,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,QAAQ;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEnD,IAAI,eAAe,IAAI,IAAI,EAAE;gBACzB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;aAClC;YACD,IAAI,CAAC,cAAc,GAAG,MAAA,qCAAc,CAAC,OAAO,CAAC;gBACzC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE;aACxD,CAAC,mCAAI,IAAI,CAAC,cAAc,CAAC;SAC7B;QAED,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,UAAU,KAAI,IAAI,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAEhC,2DAA2D;QAC3D,gGAAgG;QAChG,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC5D,kCAAkC;YAClC,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC9B,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,OAAO,CAAC;gBACpC,OAAO,GAAG,IAAI,CAAC;aAClB;YAED,4CAA4C;YAC5C,+CAA+C;YAC/C,IAAI,OAAO,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3B,IAAI,EAAE,kCAAe,CAAC,iBAAiB,CAAC,MAAM;oBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QAC/C,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC;IACpE,CAAC;IAEO,4BAA4B,CAAC,YAAoB;;QACrD,IAAI,KAAK,GAA0B,IAAI,CAAC;QACxC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,YAAY,EAAE;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC;YAC5E,IAAI,OAAO,EAAE;gBACT,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAiC,CAAC;gBACzD,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACtE;SACJ;QACD,IAAI,CAAC,KAAK,EAAE;YACR,KAAK,GAAG,MAAA,IAAI,CAAC,aAAa,0CAAE,QAAiC,CAAC;YAC9D,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAChF;QACD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,SAAS,CAAA,EAAE;YACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC5C;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IAEO,8BAA8B,CAAC,YAAoB;;QACvD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,iFAAiF;YACjF,2EAA2E;YAC3E,OAAO,IAAI,CAAC;SACf;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,SAAS,CAAC;QAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;IAClE,CAAC;CACJ;AA32BD,sCA22BC"}
|
|
@@ -457,6 +457,8 @@ var VisualsRegister;
|
|
|
457
457
|
// Caches GetIsIsolatedAny(). `null` means "unknown, recompute".
|
|
458
458
|
// Invalidated on any write that could affect isolation.
|
|
459
459
|
this.isolatedAnyCache = null;
|
|
460
|
+
// Set when isolation or opacity changes, so the next update checks whether anything is still dimmed.
|
|
461
|
+
this.dimmingDirty = false;
|
|
460
462
|
// Caches GetIsolationOpacity(). `undefined` means "unknown, recompute", `null` means
|
|
461
463
|
// "isolation (if any) is the legacy boolean/full-hide kind, not a numeric dim".
|
|
462
464
|
// Invalidated alongside isolatedAnyCache.
|
|
@@ -725,6 +727,7 @@ var VisualsRegister;
|
|
|
725
727
|
this.updateQueueInterval = null;
|
|
726
728
|
return;
|
|
727
729
|
}
|
|
730
|
+
this.syncDimming();
|
|
728
731
|
const batch = this.updateQueue.splice(0, BATCH_SIZE);
|
|
729
732
|
const cache = {};
|
|
730
733
|
for (let i = 0; i < batch.length; i++) {
|
|
@@ -959,6 +962,9 @@ var VisualsRegister;
|
|
|
959
962
|
this.isolatedAnyCache = null;
|
|
960
963
|
this.isolationOpacityCache = undefined;
|
|
961
964
|
}
|
|
965
|
+
if (keys.includes("isolated") || keys.includes("opacity")) {
|
|
966
|
+
this.dimmingDirty = true;
|
|
967
|
+
}
|
|
962
968
|
let changed = false;
|
|
963
969
|
const eStates = this.states[entityId] || {};
|
|
964
970
|
this.states[entityId] = eStates;
|
|
@@ -1390,8 +1396,36 @@ var VisualsRegister;
|
|
|
1390
1396
|
const { rego } = params;
|
|
1391
1397
|
markEntity(this, rego, rego.visual, false);
|
|
1392
1398
|
}
|
|
1399
|
+
/**
|
|
1400
|
+
* Tells the styler whether this register dims anything, by isolation or opacity.
|
|
1401
|
+
*/
|
|
1402
|
+
syncDimming() {
|
|
1403
|
+
var _a, _b;
|
|
1404
|
+
if (!this.dimmingDirty) {
|
|
1405
|
+
return;
|
|
1406
|
+
}
|
|
1407
|
+
this.dimmingDirty = false;
|
|
1408
|
+
const dimming = Object.values(this.states).some(states => Object.values(states).some(state => state.isolated || (state.opacity != null && state.opacity < 1)));
|
|
1409
|
+
if (!cesium_entity_styler_1.CesiumEntityStyler.SetDimming(this.viewer, this.id, dimming)) {
|
|
1410
|
+
return;
|
|
1411
|
+
}
|
|
1412
|
+
const entityIds = new Set([...this.GetSelected(), ...this.GetHighlighted()]);
|
|
1413
|
+
for (const entityId of entityIds) {
|
|
1414
|
+
for (const rego of (_a = this.rego[entityId]) !== null && _a !== void 0 ? _a : []) {
|
|
1415
|
+
if (cesium_entity_styler_1.CesiumEntityStyler.IsModel(rego.visual)) {
|
|
1416
|
+
cesium_entity_styler_1.CesiumEntityStyler.Refresh({
|
|
1417
|
+
viewer: this.viewer,
|
|
1418
|
+
entity: rego.visual,
|
|
1419
|
+
requestRender: false
|
|
1420
|
+
});
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
(_b = this.viewer.scene) === null || _b === void 0 ? void 0 : _b.requestRender();
|
|
1425
|
+
}
|
|
1393
1426
|
Dispose() {
|
|
1394
1427
|
var _a, _b, _c, _d, _e;
|
|
1428
|
+
cesium_entity_styler_1.CesiumEntityStyler.SetDimming(this.viewer, this.id, false);
|
|
1395
1429
|
this.ClearLabelHover();
|
|
1396
1430
|
clearTimeout(this.hoverRingReset);
|
|
1397
1431
|
this.hoverRingState = {};
|
|
@@ -2020,6 +2054,7 @@ var VisualsRegister;
|
|
|
2020
2054
|
// Mutated `isolated` directly rather than through setStateValues().
|
|
2021
2055
|
this.isolatedAnyCache = false;
|
|
2022
2056
|
this.isolationOpacityCache = null;
|
|
2057
|
+
this.dimmingDirty = true;
|
|
2023
2058
|
}
|
|
2024
2059
|
if (changed && (params === null || params === void 0 ? void 0 : params.doUpdate) !== false) {
|
|
2025
2060
|
this.updateAllEntities({
|
|
@@ -2756,6 +2791,7 @@ var VisualsRegister;
|
|
|
2756
2791
|
}
|
|
2757
2792
|
}
|
|
2758
2793
|
async updateAllEntities(params) {
|
|
2794
|
+
this.syncDimming();
|
|
2759
2795
|
const ids = Object.keys(this.rego);
|
|
2760
2796
|
const interval = setInterval(() => {
|
|
2761
2797
|
const batch = ids.splice(0, 3000);
|
|
@@ -2850,6 +2886,7 @@ var VisualsRegister;
|
|
|
2850
2886
|
const clearedIds = new Set();
|
|
2851
2887
|
this.ForEachState((state) => {
|
|
2852
2888
|
if (!clearedIds.has(state.entityId) && state.opacity != null) {
|
|
2889
|
+
this.dimmingDirty = true;
|
|
2853
2890
|
this.markLazyExclusion(state.entityId);
|
|
2854
2891
|
this.queueUpdate({
|
|
2855
2892
|
entityId: state.entityId,
|