@thegraid/hexlib 1.1.0 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/game-play.d.ts +8 -15
- package/dist/game-play.d.ts.map +1 -1
- package/dist/game-play.js +9 -16
- package/dist/game-play.js.map +1 -1
- package/dist/game-setup.d.ts +30 -14
- package/dist/game-setup.d.ts.map +1 -1
- package/dist/game-setup.js +43 -21
- package/dist/game-setup.js.map +1 -1
- package/dist/hex-intfs.d.ts +2 -1
- package/dist/hex-intfs.d.ts.map +1 -1
- package/dist/hex-intfs.js +14 -13
- package/dist/hex-intfs.js.map +1 -1
- package/dist/hex.d.ts +49 -25
- package/dist/hex.d.ts.map +1 -1
- package/dist/hex.js +55 -34
- package/dist/hex.js.map +1 -1
- package/dist/meeple.d.ts +10 -8
- package/dist/meeple.d.ts.map +1 -1
- package/dist/meeple.js +12 -20
- package/dist/meeple.js.map +1 -1
- package/dist/plan-proxy.js +4 -4
- package/dist/scenario-parser.d.ts +1 -0
- package/dist/scenario-parser.d.ts.map +1 -1
- package/dist/scenario-parser.js +2 -2
- package/dist/scenario-parser.js.map +1 -1
- package/dist/shapes.js +2 -2
- package/dist/stream-writer.js +3 -3
- package/dist/table-params.d.ts.map +1 -1
- package/dist/table-params.js +1 -1
- package/dist/table-params.js.map +1 -1
- package/dist/table.d.ts +40 -19
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js +43 -26
- package/dist/table.js.map +1 -1
- package/dist/tile.d.ts +61 -16
- package/dist/tile.d.ts.map +1 -1
- package/dist/tile.js +75 -22
- package/dist/tile.js.map +1 -1
- package/package.json +2 -2
package/dist/table.js
CHANGED
|
@@ -72,7 +72,7 @@ export class Table {
|
|
|
72
72
|
static stageTable(obj) {
|
|
73
73
|
return obj.stage.table;
|
|
74
74
|
}
|
|
75
|
-
disp;
|
|
75
|
+
disp = this;
|
|
76
76
|
namedOn(Aname, type, listener, scope, once, data, useCapture = false) {
|
|
77
77
|
const list2 = this.disp.on(type, listener, scope, once, data, useCapture);
|
|
78
78
|
list2.Aname = Aname;
|
|
@@ -99,12 +99,10 @@ export class Table {
|
|
|
99
99
|
*
|
|
100
100
|
* typically: this.hexC = this.hexMap.hexC as Constructor\<IHex2\> */
|
|
101
101
|
hexC;
|
|
102
|
-
overlayCont = new
|
|
102
|
+
overlayCont = new NamedContainer('overlay');
|
|
103
103
|
constructor(stage) {
|
|
104
104
|
// super();
|
|
105
105
|
EventDispatcher.initialize(this);
|
|
106
|
-
this.disp = this;
|
|
107
|
-
this.overlayCont.name = 'overlay';
|
|
108
106
|
// backpointer so Containers can find their Table (& curMark)
|
|
109
107
|
Table.table = stage.table = this;
|
|
110
108
|
this.stage = stage;
|
|
@@ -465,16 +463,16 @@ export class Table {
|
|
|
465
463
|
*/
|
|
466
464
|
makeParamGUI(parent, x = 0, y = 0) {
|
|
467
465
|
const gui = new ParamGUI(TP, { textAlign: 'right' });
|
|
468
|
-
const
|
|
466
|
+
const gameSetup = this.gamePlay.gameSetup;
|
|
469
467
|
gui.makeParamSpec('hexRad', [30, 60, 90, 120], { fontColor: 'red' });
|
|
470
468
|
TP.hexRad;
|
|
471
469
|
gui.makeParamSpec('nHexes', [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], { fontColor: 'red' });
|
|
472
470
|
TP.nHexes;
|
|
473
471
|
gui.makeParamSpec('mHexes', [1, 2, 3], { fontColor: 'red' });
|
|
474
472
|
TP.mHexes;
|
|
475
|
-
gui.spec("hexRad").onChange = (item) => {
|
|
476
|
-
gui.spec("nHexes").onChange = (item) => {
|
|
477
|
-
gui.spec("mHexes").onChange = (item) => {
|
|
473
|
+
gui.spec("hexRad").onChange = (item) => { gameSetup.restart({ hexRad: item.value }); };
|
|
474
|
+
gui.spec("nHexes").onChange = (item) => { gameSetup.restart({ nh: item.value }); };
|
|
475
|
+
gui.spec("mHexes").onChange = (item) => { gameSetup.restart({ mh: item.value }); };
|
|
478
476
|
parent.addChild(gui);
|
|
479
477
|
gui.x = x; // (3*cw+1*ch+6*m) + max(line.width) - (max(choser.width) + 20)
|
|
480
478
|
gui.y = y;
|
|
@@ -579,14 +577,19 @@ export class Table {
|
|
|
579
577
|
return this.hexMap.hexUnderObj(dragObj, legalOnly);
|
|
580
578
|
}
|
|
581
579
|
dragContext;
|
|
580
|
+
/** Direct callback from this.dragger. Invoke this.dragFunc0(tile, info, hexUnderTile) */
|
|
582
581
|
dragFunc(tile, info) {
|
|
583
582
|
const hex = this.hexUnderObj(tile); // clickToDrag 'snaps' to non-original hex!
|
|
584
583
|
this.dragFunc0(tile, info, hex);
|
|
585
584
|
}
|
|
586
|
-
/** Table.dragFunc0
|
|
585
|
+
/** Table.dragFunc0
|
|
586
|
+
*
|
|
587
|
+
* Version of Table.dragFunc used to inject drag/start actions programatically.
|
|
588
|
+
*
|
|
589
|
+
* Calls out to Tile.dragFunc0(IHex2, DragContext)
|
|
587
590
|
* @param tile is being dragged
|
|
588
591
|
* @param info { first: boolean, event: MouseEvent }
|
|
589
|
-
* @param hex the
|
|
592
|
+
* @param hex the IHex2 which tile is currently over (may be undefined or off map)
|
|
590
593
|
*/
|
|
591
594
|
dragFunc0(tile, info, hex = this.hexUnderObj(tile)) {
|
|
592
595
|
let ctx = this.dragContext;
|
|
@@ -601,6 +604,7 @@ export class Table {
|
|
|
601
604
|
}
|
|
602
605
|
const event = info.event?.nativeEvent;
|
|
603
606
|
tile.fromHex = tile.hex; // dragStart: set tile.fromHex when first move!
|
|
607
|
+
// create and record a DragContext for this drag:
|
|
604
608
|
ctx = {
|
|
605
609
|
tile: tile,
|
|
606
610
|
targetHex: tile.fromHex,
|
|
@@ -619,9 +623,9 @@ export class Table {
|
|
|
619
623
|
return; // stopDragging() was invoked
|
|
620
624
|
}
|
|
621
625
|
this.checkShift(hex, ctx);
|
|
622
|
-
tile.dragFunc0(hex, ctx);
|
|
626
|
+
tile.dragFunc0(hex, ctx); // tile is dragged over hex
|
|
623
627
|
}
|
|
624
|
-
|
|
628
|
+
/** invoke dragShift callback if shift state changes */
|
|
625
629
|
checkShift(hex, ctx) {
|
|
626
630
|
const nativeEvent = ctx.info.event?.nativeEvent;
|
|
627
631
|
ctx.lastCtrl = nativeEvent?.ctrlKey;
|
|
@@ -633,6 +637,21 @@ export class Table {
|
|
|
633
637
|
this.dragShift(ctx.tile, shiftKey, ctx); // was interesting for hexmarket
|
|
634
638
|
}
|
|
635
639
|
}
|
|
640
|
+
/**
|
|
641
|
+
* Try start dragging.
|
|
642
|
+
* Abort if tile.cantBeMoved(player)
|
|
643
|
+
*
|
|
644
|
+
* Inform tile.dragStart(ctx)
|
|
645
|
+
*
|
|
646
|
+
* Mark all legal Hexes, set ctx.nLegal
|
|
647
|
+
*
|
|
648
|
+
* tile.moveTo(undefined); // dropFunc() will placeTile on targetHex/fromHex.
|
|
649
|
+
*
|
|
650
|
+
* Invoke tile.noLegalTarget(ctx) if nLegal === 0
|
|
651
|
+
*
|
|
652
|
+
* @param tile the Tile to be Dragged
|
|
653
|
+
* @param ctx DragContext with shift/ctrl from table.dragFunc0()
|
|
654
|
+
*/
|
|
636
655
|
dragStart(tile, ctx) {
|
|
637
656
|
// press SHIFT to capture [recycle] opponent's Criminals or Tiles
|
|
638
657
|
const reason = tile.cantBeMovedBy(this.gamePlay.curPlayer, ctx);
|
|
@@ -654,20 +673,18 @@ export class Table {
|
|
|
654
673
|
tile.moveTo(undefined); // notify source Hex, so it can scale; also triggers nextUnit !!
|
|
655
674
|
this.hexMap.update();
|
|
656
675
|
if (ctx.nLegal === 0) {
|
|
657
|
-
tile.
|
|
658
|
-
if (!this.gamePlay.recycleHex?.isLegal) {
|
|
659
|
-
this.stopDragging(); // actually, maybe let it drag, so we can see beneath...
|
|
660
|
-
}
|
|
676
|
+
tile.noLegalTarget(ctx);
|
|
661
677
|
}
|
|
662
678
|
}
|
|
663
679
|
}
|
|
664
|
-
/** state of shiftKey has changed during drag */
|
|
680
|
+
/** state of shiftKey has changed during drag. call tile.dragShift(). */
|
|
665
681
|
dragShift(tile, shiftKey, ctx) {
|
|
666
682
|
tile?.dragShift(shiftKey, ctx);
|
|
667
683
|
}
|
|
668
|
-
/** Tile
|
|
684
|
+
/** dropFunc for each Dragable/Tile -> tile.dropFunc0(hex, ctx) */
|
|
669
685
|
dropFunc(dobj, info, hex = this.hexUnderObj(dobj)) {
|
|
670
686
|
const tile = dobj;
|
|
687
|
+
// invoke Tile.dropFunc0() which will delegate to Tile.dropFunc(targetHex, ctx)
|
|
671
688
|
tile.dropFunc0(hex, this.dragContext); // generally: hex == ctx.targetHex
|
|
672
689
|
tile.markLegal(this); // hex => hex.isLegal = false;
|
|
673
690
|
// this.gamePlay.recycleHex.isLegal = false;
|
|
@@ -678,10 +695,10 @@ export class Table {
|
|
|
678
695
|
dragStartAndDrop(tile, toHex) {
|
|
679
696
|
if (!tile)
|
|
680
697
|
return; // C-q when no EventTile on eventHex
|
|
681
|
-
const
|
|
682
|
-
this.dragFunc0(tile, info, tile.hex); // dragStart()
|
|
683
|
-
tile.dragFunc0(
|
|
684
|
-
this.dropFunc(tile, info,
|
|
698
|
+
const toHex2 = toHex, info = { first: true }; // event: undefined
|
|
699
|
+
this.dragFunc0(tile, info, tile.hex); // table.dragStart(tile)->tile.dragstart(ctx); tile.dragFunc0(fromHex)
|
|
700
|
+
tile.dragFunc0(toHex2, this.dragContext); // tile.dragFunc0(toHex)
|
|
701
|
+
this.dropFunc(tile, info, toHex2); // table.dropFunc(toHex)->tile.dropFunc0(toHex,ctx)
|
|
685
702
|
}
|
|
686
703
|
isDragging() { return this.dragContext?.tile !== undefined; }
|
|
687
704
|
/** Force this.dragger to drop the current drag object on given target Hex.
|
|
@@ -731,7 +748,7 @@ export class Table {
|
|
|
731
748
|
}
|
|
732
749
|
_tablePlanner;
|
|
733
750
|
get tablePlanner() {
|
|
734
|
-
return this._tablePlanner
|
|
751
|
+
return this._tablePlanner ??
|
|
735
752
|
(this._tablePlanner = new TablePlanner(this.gamePlay));
|
|
736
753
|
}
|
|
737
754
|
/**
|
|
@@ -770,9 +787,9 @@ export class Table {
|
|
|
770
787
|
}
|
|
771
788
|
if (bindKeys) {
|
|
772
789
|
this.bindKeysToScale(scaleC, "a", 436, 2);
|
|
773
|
-
KeyBinder.keyBinder.setKey('Space',
|
|
774
|
-
KeyBinder.keyBinder.setKey('S-Space',
|
|
775
|
-
KeyBinder.keyBinder.setKey('t',
|
|
790
|
+
KeyBinder.keyBinder.setKey('Space', () => this.dragTarget());
|
|
791
|
+
KeyBinder.keyBinder.setKey('S-Space', () => this.dragTarget());
|
|
792
|
+
KeyBinder.keyBinder.setKey('t', () => this.toggleText());
|
|
776
793
|
}
|
|
777
794
|
return scaleC;
|
|
778
795
|
}
|
package/dist/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAe,OAAO,EAA2B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAa,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAM,MAAM,uBAAuB,CAAC;AAC9K,OAAO,EAAE,SAAS,EAAiB,eAAe,EAAE,QAAQ,EAAc,KAAK,EAAS,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC/H,OAAO,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAC;AAGzE,OAAO,EAA6B,UAAU,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAe,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAC5C,2CAA2C;AAE3C,SAAS,SAAS,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC;AAAA,CAAC;AAU7G,qBAAqB;AACrB,MAAM,YAAY;IAChB,YAAY,QAAkB,IAAG,CAAC;CACnC;AAkBD,MAAM,OAAQ,SAAQ,cAAc;IACY;IAA0B;IAAxE,YAAY,KAAa,EAAE,MAAM,GAAG,CAAC,EAAS,OAAe,EAAE,EAAS,OAAO,CAAC;QAC9E,KAAK,CAAC,KAAK,CAAC,CAAC;QAD+B,SAAI,GAAJ,IAAI,CAAa;QAAS,SAAI,GAAJ,IAAI,CAAI;QAE9E,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAO,MAAM,CAAC,CAAC;QACrC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAS;IACd,QAAQ,GAAG,EAAE,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IAEV,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;QAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,OAAO,CAAC,IAAI,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IACzF,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI;QAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;SACtE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAU,CAAC,CAAC,CAAC,0BAA0B;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,KAAK,CAAO;IACnB,MAAM,CAAC,UAAU,CAAC,GAAkB;QAClC,OAAQ,GAAG,CAAC,KAAoB,CAAC,KAAK,CAAA;IACxC,CAAC;IAED,IAAI,CAAkB;IACtB,OAAO,CAAC,KAAa,EAAE,IAAY,EAAE,QAAuC,EAAE,KAAc,EAAE,IAAc,EAAE,IAAU,EAAE,UAAU,GAAG,KAAK;QAC1I,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAgB,CAAC;QACzF,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ,CAAW;IACnB,KAAK,CAAQ;IACb,MAAM,CAAO;IACb,MAAM,CAAgB,CAAC,uBAAuB;IAE9C,SAAS,CAAa;IACtB,MAAM,CAAW,CAAC,eAAe;IACjC,wCAAwC;IACxC,UAAU,GAAG,KAAK,CAAC;IAEnB,QAAQ,GAAc,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,SAAS,GAAU,IAAI,KAAK,EAAE,CAAC;IAC/B,QAAQ,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,uBAAuB;IACvE,QAAQ,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,0BAA0B;IAC1E,OAAO,GAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,GAAU,IAAI,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAEvG,OAAO,CAAS;IAChB;;;yEAGqE;IACrE,IAAI,CAAqB;IAEzB,WAAW,GAAG,IAAI,SAAS,EAAE,CAAC;IAC9B,YAAY,KAAY;QACtB,WAAW;QACX,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAI,IAA+B,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC;QAClC,6DAA6D;QAC7D,KAAK,CAAC,KAAK,GAAI,KAAoB,CAAC,KAAK,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA,CAAC,yBAAyB;QAClF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,yCAAyC;IACtF,CAAC;IACD,2CAA2C;IAC3C,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACpC,8CAA8C;IAC9C,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAElD,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,mBAAmB;IAC9D,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB;QAC9G,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAChD,yCAAyC;QACzC,wGAAwG;QACxG,mDAAmD;IACrD,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAE,GAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,0BAA0B;QACvD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa;QAC5E,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC;YAAE,OAAM;QAE7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzD,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAA;QACxD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;QACrD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAA;QAC/D,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAA;QAC9E,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACzB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,8BAA8B;QACtE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,WAAW,CAAC,GAAY,EAAE,KAAK,GAAG,OAAO;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,IAAI,2CAA2C,CAAA;QACtE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IACtB,CAAC;IACD,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ;QAC9C,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAE,2BAA2B;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI;QACpC,YAAY;QACZ,CAAC,MAAqB,EAAE,GAAc,EAAE,EAAE,GAAG,CAAC;QAC9C,YAAY;QACZ,CAAC,MAAqB,EAAE,GAAc,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,sBAAsB;YACpE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,6BAA6B;YAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,0CAA0C;YAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QACJ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB,4DAA4D;IAC5D,UAAU,CAAC,GAAa;QACtB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,SAAS,CAAC,CAAA,CAAC,yCAAyC;QACxG,IAAI,GAAG,KAAK,SAAS;YAAE,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA,CAAe,mCAAmC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE;QAC9C,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,mBAAmB;QACnB,IAAI,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,IAAY,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE;YAC1F,IAAI,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,IAAI,GAAC,WAAW,CAAA;YACjD,IAAI,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACrD,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7C,GAAG,CAAC,CAAC,GAAG,CAAE,GAAG,GAAC,CAAC,CAAA;YACf,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAA;YACxB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;YACX,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAClB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YACnE,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QACxE,IAAI,EAAE,GAAG,sBAAsB,CAAA;QAC/B,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC1C,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACzC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACzD,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAC,CAAC,CAAA;QAC5D,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,+CAA+C;IAC/C,QAAQ,GAAY,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAY,EAAE,OAA2B,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,IAAkC,EAAE,IAAyB;QAClF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,qFAAqF;QACrF,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,kBAAkB;QAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjC,+BAA+B;QAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;QAClG,2EAA2E;QAC3E,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,mCAAmC;QACnC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAA8B,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAA0B,CAAC;QAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAc,iDAAiD;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB;QAC1E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,iCAAiC;QAErE;;;;WAIG;QACH,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,uCAAuC;QAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA,CAAC,yBAAyB;QAEjE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAE,CAAC;QACpG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtF,CAAC;IAED,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAmC;QAExG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;IAEZ,CAAC;IACD,MAAM,CAAC,OAAsC,EAAE,IAAY,EAAE,EAAU,EAAE,EAAU,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QACnG,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;QAC9D,2CAA2C;QAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAM,UAAU;QACrD,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAClH,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;;;OAMG;IACH,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;QACvF,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACvB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,mDAAmD;QAC9G,+CAA+C;QAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,WAAW,KAAK,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3C;;;;OAIG;IACH,YAAY;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACjE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG;YACX,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6DAA6D;IAC7D,QAAQ,CAAC,MAAc,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;QAC7F,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAEQ,eAAe,GAAkB,EAAE,CAAC;IAC7C,gDAAgD;IAChD,aAAa;QACX,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,GAAG,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7H,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,WAAW,CAAC,IAAe,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAuC;QACxF,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE;YAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,WAAW,CAAC,MAAwB,EAAE,GAAU;QAC9C,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QACzD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,CAAU,EAAE,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,IAAU,EAAE,CAAU,EAAE,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU;QAC9D,MAAM,IAAI,GAAG,SAAS,CAAA;QACtB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAC7E,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAc,8BAA8B;QAExD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QAC/E,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QAC/F,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAC/F,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAC3F,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAE3F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,+DAA+D;QACzE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACT,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,+BAA+B;IAC/B,aAAa,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;QACrD,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,GAAG,CAAA;QAClF,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,OAAO,CAAA;QACzF,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,UAAU,CAAA;QAC1F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,SAAS,EAAE,CAAA;QACf,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QAClB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ,GAAW,uBAAuB,CAAA;IAC1C,QAAQ,GAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACjD,iDAAiD;IACjD,cAAc,CAAC,MAAiB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5F,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QACrG,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,YAAY,CAAA;QAEvJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/C,MAAM,KAAK,GAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAe,CAAC,OAAO,CAAC,SAAS,CAAA;gBAC7E,+BAA+B;gBAC/B,gDAAgD;aACjD;YACD,gFAAgF;QAClF,CAAC,CAAA;QACA,IAAI,CAAC,KAAK,CAAC,MAA4B,EAAE,aAAa,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACxF,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACpB,GAAG,CAAC,SAAS,EAAE,CAAA;QACf,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACrB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,gBAAgB,CAAC,UAAU,GAAG,EAAE,CAAC,YAAY;QAC1C,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAsB,CAAC,SAAS,GAAG,UAAU,CAAC;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;QAC3E,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAa;IACvB,WAAW,GAAG,CAAC,GAAS,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAG,+CAA+C;IAC9E,CAAC,CAAA;IAED,aAAa,CAAC,UAAqB,EAAE,EAAU;QAC7C,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACvF,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;QAC/B,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACtB,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;QACrC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/C,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEhC,gCAAgC;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrF,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAChC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAA;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,8BAA8B;QAC1D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,wCAAwC;IACxC,cAAc,CAAC,IAAY,EAAE,KAAa,EAAE,IAAa;IACzD,CAAC;IAED,+CAA+C;IAC/C,SAAS,CAAC,QAAkB;QAC1B,qCAAqC;QACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,0BAA0B;QACrE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,YAAY,CAAC,IAAmB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,2BAA2B;IAC9D,CAAC;IAED,WAAW,CAAC,OAAsB,EAAE,SAAS,GAAG,IAAI;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAc;IACzB,QAAQ,CAAC,IAAmB,EAAE,IAAe;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,2CAA2C;QAC/E,IAAI,CAAC,SAAS,CAAC,IAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAU,EAAE,IAAe,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACjE,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,IAAI,IAAI,EAAE,KAAK,EAAE;YACf,IAAI,GAAG,EAAE,IAAI,EAAE;gBACb,+CAA+C;gBAC/C,6DAA6D;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,0CAA0C,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB;gBACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAU,qDAAqD;gBACvF,OAAO;aACR;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAY,CAAC,CAAE,+CAA+C;YAClF,GAAG,GAAG;gBACJ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,SAAS,EAAE,KAAK,EAAE,QAAQ;gBAC1B,QAAQ,EAAG,KAAK,EAAE,OAAO;gBACzB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,CAAC;aACV,CAAA;YACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,8CAA8C;gBAC/E,OAAO;aACR;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAK,kDAAkD;YACjF,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO,CAAS,6BAA6B;SAC7D;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,UAAU,CAAC,GAAsB,EAAE,GAAgB;QACjD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAA;QAC/C,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,OAAO,CAAC;QACpC,qEAAqE;QACrE,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,CAAC;QACvC,IAAI,QAAQ,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE;YAChE,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;YACzB,oCAAoC;YACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,gCAAgC;SAC1E;IACH,CAAC;IAED,SAAS,CAAC,IAAU,EAAE,GAAgB;QACpC,iEAAiE;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YAChF,yDAAyD;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM;YACL,+DAA+D;YAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;YAEjD,MAAM,eAAe,GAAG,CAAC,GAAU,EAAE,EAAE;gBACrC,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;oBACpD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAW,0CAA0C;YAChG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,gEAAgE;YACxF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;oBACtC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,wDAAwD;iBAC9E;aACF;SACF;IACH,CAAC;IAED,gDAAgD;IAChD,SAAS,CAAC,IAAsB,EAAE,QAA6B,EAAE,GAAgB;QAC/E,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,IAAmB,EAAE,IAAe,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACzE,MAAM,IAAI,GAAG,IAAY,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC;QAClF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B;QACpD,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,oBAAoB;IACzD,CAAC;IAED,wEAAwE;IACxE,gBAAgB,CAAC,IAAU,EAAE,KAAU;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,oCAAoC;QACvD,MAAM,GAAG,GAAG,KAAc,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAc,CAAC,CAAC,mBAAmB;QACnF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAY,CAAC,CAAC,CAAE,cAAc;QAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAEO,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO;QACnD,mIAAmI;QACnI,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,MAAM;gBAAE,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,6CAA6C;SACvE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,IAAI;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAqB,EAAE,KAAS,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QAClH,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA,CAAC,qBAAqB;SACpE;aAAM,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACrC;IACH,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAC,MAAM,CAAC,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,iBAAiB;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IACD,cAAc,CAAC,MAAe,IAAI;QAChC,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAA,CAAC,iCAAiC;QACzE,IAAI,GAAG;YAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACrC,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,aAAa,CAAc;IAC3B,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa;YACzB,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACxD,CAAC;IACD;;;;;OAKG;IACH,WAAW,CAAC,IAAW;IACvB,CAAC;IACD,kDAAkD;IAClD,cAAc,CAAC,IAAW,EAAE,EAAe;QACzC,yCAAyC;QACzC,4BAA4B;QAC5B,2FAA2F;IAC7F,CAAC;IAED,+BAA+B;IAC/B,OAAO,GAAW,GAAG,CAAC;IACtB,8CAA8C;IAC9C,OAAO,CAAC,IAAe,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,WAAW,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAI,CAAC;IAE7E,SAAS,CAAsB;IACxC;;OAEG;IACH,aAAa,CAAC,QAAiB;QAC7B,uCAAuC;QACvC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YACzB,4DAA4D;YAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,mCAAmC;YAC1G,4EAA4E;SAC7E;QACD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1C,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACxF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACxF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;SACvF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+DAA+D;IAC/D,aAAa,CAAC,MAAiB,EAAE,MAAY,EAAE,OAAO,GAAG,EAAE,CAAC,OAAO;QACjE,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAA4B,CAAC;QAC7E,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,CAAC,CAAC,GAAG,GAAG;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,kEAAkE;QAClE,4EAA4E;QAE5E,6EAA6E;QAC7E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,EAAM;QACR,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACH,2CAA2C;IAC3C,eAAe,CAAC,MAA2B,EAAE,IAAY,EAAE,GAAW,EAAE,GAAW,EAAE,MAAM,GAAG,EAAE;QAC9F,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;QAC9B,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;QAE9B,kCAAkC;QAClC,sCAAsC;QACtC,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACrC,CAAC,CAAA;QACD,oEAAoE;QACpE,oDAAoD;QACpD,MAAM,UAAU,GAAG,CAAC,EAAW,EAAE,MAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpB,kFAAkF;YAClF,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC,CAAA;QACD,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAA;QAED,4BAA4B;QAC5B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACxE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACzF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAC,IAAI,EAAE,CAAC,CAAA;QAC7F,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAA;QACnG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,CAAC,CAAA;QAClG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAA;QACjG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,CAAC,CAAA;QACpG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAClG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QAEnG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;CACF;AAED,MAAM,mBAAoB,SAAQ,kBAAkB;CAEnD"}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
|
package/dist/tile.d.ts
CHANGED
|
@@ -66,6 +66,7 @@ export declare class Tile extends Tile0 implements Dragable {
|
|
|
66
66
|
homeHex: Hex1;
|
|
67
67
|
/** location at start-of-drag */
|
|
68
68
|
fromHex: IHex2;
|
|
69
|
+
/** override hook to deselect/stopDragging a Tile. */
|
|
69
70
|
isDragable(ctx?: DragContext): boolean;
|
|
70
71
|
_hex: Hex1 | undefined;
|
|
71
72
|
/** the map Hex on which this Tile sits. */
|
|
@@ -97,28 +98,70 @@ export declare class Tile extends Tile0 implements Dragable {
|
|
|
97
98
|
* Post-condition: !tile.hex.isOnMap; tile.hex = this.homeHex may be undefined [UnitSource, AuctionTile, BonusTile]
|
|
98
99
|
*/
|
|
99
100
|
sendHome(): void;
|
|
101
|
+
/** map.showMark(ctx.targetHex); override for alternate showMark. */
|
|
100
102
|
showTargetMark(hex: IHex2 | undefined, ctx: DragContext): void;
|
|
101
103
|
/**
|
|
102
|
-
*
|
|
104
|
+
* Invoked for each mouseMove when dragging this Tile.
|
|
103
105
|
*
|
|
104
|
-
* isLegal already set
|
|
105
|
-
*
|
|
106
|
+
* hex.isLegal was already set by dragStart [for ALL Hex]
|
|
107
|
+
*
|
|
108
|
+
* set ctx.targetHex = hex?.isLegal ? hex : this.fromHex;
|
|
109
|
+
*
|
|
110
|
+
* then this.dragFunc(hex, ctx);
|
|
111
|
+
*
|
|
112
|
+
* @param hex Hex under this Tile
|
|
113
|
+
* @param ctx
|
|
106
114
|
*/
|
|
107
115
|
dragFunc0(hex: IHex2 | undefined, ctx: DragContext): void;
|
|
108
|
-
/**
|
|
116
|
+
/**
|
|
117
|
+
* this Tile is being dragged.
|
|
118
|
+
*
|
|
119
|
+
* default: [return] just let it drag until it's dropped.
|
|
120
|
+
* @param hex Hex under this Tile
|
|
121
|
+
* @param ctx full context: ctrl/shift, nLegal, info, targetHex
|
|
122
|
+
*/
|
|
123
|
+
dragFunc(hex: IHex2 | undefined, ctx: DragContext): void;
|
|
124
|
+
/**
|
|
125
|
+
* entry point from Table.dropFunc;
|
|
109
126
|
*
|
|
110
|
-
* then showMark(undefined);
|
|
127
|
+
* Invoke this.dropFunc() then showMark(undefined);
|
|
111
128
|
*/
|
|
112
129
|
dropFunc0(hex: IHex2, ctx: DragContext): void;
|
|
130
|
+
/**
|
|
131
|
+
* Tile.dropFunc; override to give game-specific or tile-specific behavior.
|
|
132
|
+
*
|
|
133
|
+
* default: this.placeTile(targetHex)
|
|
134
|
+
* @param targetHex last legal Hex this Tile was over. (may be fromHex)
|
|
135
|
+
* @param ctx DragContext
|
|
136
|
+
*/
|
|
137
|
+
dropFunc(targetHex: IHex2, ctx: DragContext): void;
|
|
138
|
+
/**
|
|
139
|
+
* Indicates if given Player is allowed to dragStart this Tile.
|
|
140
|
+
* @param player typically: this.gamePlay.curPlayer
|
|
141
|
+
* @param ctx the dragStart context
|
|
142
|
+
* @returns a 'reason' string if cant be moved, undefined if can be moved.
|
|
143
|
+
*/
|
|
113
144
|
cantBeMovedBy(player: Player, ctx: DragContext): string | boolean | undefined;
|
|
114
|
-
/**
|
|
145
|
+
/**
|
|
146
|
+
* Invoked before checking isLegalTarget;
|
|
147
|
+
*
|
|
148
|
+
* Tile has not yet been moved: tile.hex is still tile.fromHex.
|
|
149
|
+
*
|
|
150
|
+
* default: [return] override as necessary.
|
|
151
|
+
*/
|
|
115
152
|
dragStart(ctx: DragContext): void;
|
|
116
153
|
/** state of shiftKey has changed during drag */
|
|
117
154
|
dragShift(shiftKey: boolean | undefined, ctx: DragContext): void;
|
|
118
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* When this Tile starts a drag,
|
|
157
|
+
* run setLegal() on all Hex of given Table to identify legal targets.
|
|
158
|
+
*
|
|
159
|
+
* All Hex is table.newHexes and table.hexMap.hexAry.
|
|
160
|
+
* - does not include table.recycleHex, so that may need special treatment.
|
|
119
161
|
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
162
|
+
* @param table acces to newHexes and hexMap
|
|
163
|
+
* @param setLegal [default: hex.isLegal = false] or countLegalHexes/isLegalTarget
|
|
164
|
+
* @param ctx DragContext if needed
|
|
122
165
|
*/
|
|
123
166
|
markLegal(table: Table, setLegal?: (hex: IHex2) => void, ctx?: DragContext): void;
|
|
124
167
|
/**
|
|
@@ -127,13 +170,11 @@ export declare class Tile extends Tile0 implements Dragable {
|
|
|
127
170
|
*/
|
|
128
171
|
isLegalTarget(toHex: Hex1, ctx?: DragContext): boolean;
|
|
129
172
|
isLegalRecycle(ctx: DragContext): boolean;
|
|
130
|
-
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* @param ctx DragContext
|
|
173
|
+
/** Called by table.dragStart() if there are no legal targets for this Tile.
|
|
174
|
+
*
|
|
175
|
+
* unless recycleHex.isLegal, stopDragging();
|
|
134
176
|
*/
|
|
135
|
-
|
|
136
|
-
noLegal(): void;
|
|
177
|
+
noLegalTarget(ctx: DragContext): void;
|
|
137
178
|
logRecycle(verb: string): void;
|
|
138
179
|
}
|
|
139
180
|
/** A plain WHITE tile; for Debt */
|
|
@@ -145,7 +186,11 @@ export declare class WhiteTile extends Tile {
|
|
|
145
186
|
export declare class Token extends Tile {
|
|
146
187
|
makeShape(): PaintableShape;
|
|
147
188
|
}
|
|
148
|
-
/**
|
|
189
|
+
/**
|
|
190
|
+
* Tiles that can be played to the Map, and generally stay where they are dropped.
|
|
191
|
+
*
|
|
192
|
+
* Tiles that are moved around on the map are classed as Meeple.
|
|
193
|
+
*/
|
|
149
194
|
export declare class MapTile extends Tile {
|
|
150
195
|
}
|
|
151
196
|
export {};
|
package/dist/tile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../src/tile.ts"],"names":[],"mappings":"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"}
|
package/dist/tile.js
CHANGED
|
@@ -113,6 +113,7 @@ export class Tile extends Tile0 {
|
|
|
113
113
|
homeHex;
|
|
114
114
|
/** location at start-of-drag */
|
|
115
115
|
fromHex;
|
|
116
|
+
/** override hook to deselect/stopDragging a Tile. */
|
|
116
117
|
isDragable(ctx) { return true; }
|
|
117
118
|
_hex;
|
|
118
119
|
/** the map Hex on which this Tile sits. */
|
|
@@ -210,38 +211,87 @@ export class Tile extends Tile0 {
|
|
|
210
211
|
source.nextUnit();
|
|
211
212
|
}
|
|
212
213
|
}
|
|
214
|
+
/** map.showMark(ctx.targetHex); override for alternate showMark. */
|
|
213
215
|
showTargetMark(hex, ctx) {
|
|
214
|
-
ctx.targetHex
|
|
215
|
-
ctx.targetHex?.map.showMark(ctx.targetHex);
|
|
216
|
+
ctx.targetHex?.map.showMark(ctx.targetHex); // else prev mark still showing
|
|
216
217
|
}
|
|
217
218
|
/**
|
|
218
|
-
*
|
|
219
|
+
* Invoked for each mouseMove when dragging this Tile.
|
|
220
|
+
*
|
|
221
|
+
* hex.isLegal was already set by dragStart [for ALL Hex]
|
|
222
|
+
*
|
|
223
|
+
* set ctx.targetHex = hex?.isLegal ? hex : this.fromHex;
|
|
219
224
|
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
225
|
+
* then this.dragFunc(hex, ctx);
|
|
226
|
+
*
|
|
227
|
+
* @param hex Hex under this Tile
|
|
228
|
+
* @param ctx
|
|
222
229
|
*/
|
|
223
230
|
dragFunc0(hex, ctx) {
|
|
231
|
+
ctx.targetHex = hex?.isLegal ? hex : this.fromHex;
|
|
224
232
|
this.showTargetMark(hex, ctx);
|
|
233
|
+
this.dragFunc(hex, ctx);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* this Tile is being dragged.
|
|
237
|
+
*
|
|
238
|
+
* default: [return] just let it drag until it's dropped.
|
|
239
|
+
* @param hex Hex under this Tile
|
|
240
|
+
* @param ctx full context: ctrl/shift, nLegal, info, targetHex
|
|
241
|
+
*/
|
|
242
|
+
dragFunc(hex, ctx) {
|
|
243
|
+
return;
|
|
225
244
|
}
|
|
226
|
-
/**
|
|
245
|
+
/**
|
|
246
|
+
* entry point from Table.dropFunc;
|
|
227
247
|
*
|
|
228
|
-
* then showMark(undefined);
|
|
248
|
+
* Invoke this.dropFunc() then showMark(undefined);
|
|
229
249
|
*/
|
|
230
250
|
dropFunc0(hex, ctx) {
|
|
231
251
|
this.dropFunc(ctx.targetHex, ctx);
|
|
232
252
|
ctx.targetHex?.map.showMark(undefined); // if (this.fromHex === undefined)
|
|
233
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Tile.dropFunc; override to give game-specific or tile-specific behavior.
|
|
256
|
+
*
|
|
257
|
+
* default: this.placeTile(targetHex)
|
|
258
|
+
* @param targetHex last legal Hex this Tile was over. (may be fromHex)
|
|
259
|
+
* @param ctx DragContext
|
|
260
|
+
*/
|
|
261
|
+
dropFunc(targetHex, ctx) {
|
|
262
|
+
this.placeTile(targetHex);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Indicates if given Player is allowed to dragStart this Tile.
|
|
266
|
+
* @param player typically: this.gamePlay.curPlayer
|
|
267
|
+
* @param ctx the dragStart context
|
|
268
|
+
* @returns a 'reason' string if cant be moved, undefined if can be moved.
|
|
269
|
+
*/
|
|
234
270
|
cantBeMovedBy(player, ctx) {
|
|
235
|
-
return (ctx?.lastShift || this.player === undefined || this.player === player) ? undefined :
|
|
271
|
+
return (ctx?.lastShift || this.player === undefined || this.player === player) ? undefined : 'Not your Tile';
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Invoked before checking isLegalTarget;
|
|
275
|
+
*
|
|
276
|
+
* Tile has not yet been moved: tile.hex is still tile.fromHex.
|
|
277
|
+
*
|
|
278
|
+
* default: [return] override as necessary.
|
|
279
|
+
*/
|
|
280
|
+
dragStart(ctx) {
|
|
281
|
+
return;
|
|
236
282
|
}
|
|
237
|
-
/** override as necessary. */
|
|
238
|
-
dragStart(ctx) { }
|
|
239
283
|
/** state of shiftKey has changed during drag */
|
|
240
284
|
dragShift(shiftKey, ctx) { }
|
|
241
|
-
/**
|
|
285
|
+
/**
|
|
286
|
+
* When this Tile starts a drag,
|
|
287
|
+
* run setLegal() on all Hex of given Table to identify legal targets.
|
|
242
288
|
*
|
|
243
|
-
*
|
|
244
|
-
* -
|
|
289
|
+
* All Hex is table.newHexes and table.hexMap.hexAry.
|
|
290
|
+
* - does not include table.recycleHex, so that may need special treatment.
|
|
291
|
+
*
|
|
292
|
+
* @param table acces to newHexes and hexMap
|
|
293
|
+
* @param setLegal [default: hex.isLegal = false] or countLegalHexes/isLegalTarget
|
|
294
|
+
* @param ctx DragContext if needed
|
|
245
295
|
*/
|
|
246
296
|
markLegal(table, setLegal = (hex) => { hex.isLegal = false; }, ctx = table.dragContext) {
|
|
247
297
|
table.newHexes.forEach(setLegal);
|
|
@@ -265,15 +315,14 @@ export class Tile extends Tile0 {
|
|
|
265
315
|
isLegalRecycle(ctx) {
|
|
266
316
|
return true;
|
|
267
317
|
}
|
|
268
|
-
/**
|
|
269
|
-
*
|
|
270
|
-
*
|
|
271
|
-
* @param ctx DragContext
|
|
318
|
+
/** Called by table.dragStart() if there are no legal targets for this Tile.
|
|
319
|
+
*
|
|
320
|
+
* unless recycleHex.isLegal, stopDragging();
|
|
272
321
|
*/
|
|
273
|
-
|
|
274
|
-
this.
|
|
275
|
-
|
|
276
|
-
|
|
322
|
+
noLegalTarget(ctx) {
|
|
323
|
+
if (!this.gamePlay.recycleHex?.isLegal) {
|
|
324
|
+
this.gamePlay.table.stopDragging(); // actually, maybe let it drag, so we can see beneath...
|
|
325
|
+
}
|
|
277
326
|
// const cause = this.gamePlay.failToBalance(this) ?? '';
|
|
278
327
|
// const [infR, coinR] = this.gamePlay.getInfR(this);
|
|
279
328
|
// this.gamePlay.logText(`No placement for ${this.andInfStr} ${cause} infR=${infR} coinR=${coinR}`, 'Tile.noLegal')
|
|
@@ -300,7 +349,11 @@ export class Token extends Tile {
|
|
|
300
349
|
return new HexShape(this.radius * .5);
|
|
301
350
|
}
|
|
302
351
|
}
|
|
303
|
-
/**
|
|
352
|
+
/**
|
|
353
|
+
* Tiles that can be played to the Map, and generally stay where they are dropped.
|
|
354
|
+
*
|
|
355
|
+
* Tiles that are moved around on the map are classed as Meeple.
|
|
356
|
+
*/
|
|
304
357
|
export class MapTile extends Tile {
|
|
305
358
|
}
|
|
306
359
|
//# sourceMappingURL=tile.js.map
|