@lodestar/fork-choice 1.44.0-dev.985999b30c → 1.44.0-dev.b506aab66d

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.
@@ -147,6 +147,8 @@ export declare class ForkChoice implements IForkChoice {
147
147
  * corresponding to the beacon block `blockRoot`.
148
148
  */
149
149
  shouldExtendPayload(blockRoot: RootHex): boolean;
150
+ /** Spec: should_build_on_full(store, head) */
151
+ shouldBuildOnFull(head: ProtoBlock): boolean;
150
152
  /**
151
153
  * To predict the proposer head of the next slot. That is, to predict if proposer-boost-reorg could happen.
152
154
  * Reason why we can't be certain is because information of the head block is not fully available yet
@@ -246,7 +248,7 @@ export declare class ForkChoice implements IForkChoice {
246
248
  * Updates the PTC votes for multiple validators attesting to a block
247
249
  * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
248
250
  */
249
- notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean): void;
251
+ notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean, blobDataAvailable: boolean): void;
250
252
  /**
251
253
  * Notify fork choice that an execution payload has arrived (Gloas fork)
252
254
  * Creates the FULL variant of a Gloas block when the payload becomes available
@@ -1 +1 @@
1
- {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
@@ -222,6 +222,10 @@ export class ForkChoice {
222
222
  shouldExtendPayload(blockRoot) {
223
223
  return this.protoArray.shouldExtendPayload(blockRoot, this.proposerBoostRoot);
224
224
  }
225
+ /** Spec: should_build_on_full(store, head) */
226
+ shouldBuildOnFull(head) {
227
+ return this.protoArray.shouldBuildOnFull(head);
228
+ }
225
229
  /**
226
230
  * To predict the proposer head of the next slot. That is, to predict if proposer-boost-reorg could happen.
227
231
  * Reason why we can't be certain is because information of the head block is not fully available yet
@@ -744,8 +748,8 @@ export class ForkChoice {
744
748
  * Updates the PTC votes for multiple validators attesting to a block
745
749
  * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
746
750
  */
747
- notifyPtcMessages(blockRoot, ptcIndices, payloadPresent) {
748
- this.protoArray.notifyPtcMessages(blockRoot, ptcIndices, payloadPresent);
751
+ notifyPtcMessages(blockRoot, ptcIndices, payloadPresent, blobDataAvailable) {
752
+ this.protoArray.notifyPtcMessages(blockRoot, ptcIndices, payloadPresent, blobDataAvailable);
749
753
  }
750
754
  /**
751
755
  * Notify fork choice that an execution payload has arrived (Gloas fork)
@@ -1 +1 @@
1
- {"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,sBAAsB,EAGtB,SAAS,EACT,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EASL,kBAAkB,EAElB,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAS,MAAM,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAEL,eAAe,EACf,aAAa,EAEb,eAAe,EAEf,aAAa,EAIb,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC3G,OAAO,EAEL,cAAc,EAGd,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAyD,mBAAmB,EAAC,MAAM,YAAY,CAAC;SAQ3F,aAAa;AAAzB,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;IACnC,sEAAqD,CAAA;AAAC,CAAC,EAH7C,aAAa,KAAb,aAAa,QAIxB;AAOD,4CAA4C;AAC5C,MAAM,cAAc,GAAS,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,UAAU;IAyDF,MAAM;IACN,OAAO;IAEP,UAAU;IAElB,OAAO;IACC,IAAI;IACJ,MAAM;IA/DzB,kBAAkB,CAAS;IAC3B;;;;;;;;;;OAUG;IACc,kBAAkB,CAAc;IAChC,eAAe,CAAc;IAC7B,aAAa,CAAS;IAEvC;;;;;;OAMG;IACc,kBAAkB,GAAsE,IAAI,MAAM,CACjH,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAClC,CAAC;IAEF;;;OAGG;IACK,8BAA8B,GAAG,CAAC,CAAC;IAE3C,4GAA4G;IAC5G,6FAA6F;IAC7F,uDAAuD;IACvD,0BAA0B;IAE1B,kBAAkB;IACV,IAAI,CAAa;IACzB;;QAEI;IACI,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtD,kEAAkE;IAC1D,iBAAiB,GAAmB,IAAI,CAAC;IACjD,+EAA+E;IACvE,2BAA2B,GAAkB,IAAI,CAAC;IAC1D,qCAAqC;IAC7B,QAAQ,CAA6B;IAC7C;;;;OAIG;IACH,YACmB,MAAuB,EACvB,OAAyB;IAC1C,sDAAsD;IACrC,UAAsB,EACvC,cAAsB,EACb,OAAiC,EACzB,IAAqB,EACrB,MAAe,EAChC;sBARiB,MAAM;uBACN,OAAO;0BAEP,UAAU;uBAElB,OAAO;oBACC,IAAI;sBACJ,MAAM;QAEvB,wEAAwE;QACxE,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,kFAAkF;QAElF,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QAEhD,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACzC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC/E,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAA,CAC9D,CAAC,CAAC;IAAA,CACJ;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,SAAkB,EAAE,YAAkB,EAAa;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAAA,CAC7D;IAED;;OAEG;IACH,WAAW,GAAY;QACrB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;IAAA,CACjC;IAED;;OAEG;IACH,OAAO,GAAe;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC;IAAA,CAClB;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAwB,EAIvC;QACA,MAAM,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;QAEnB,MAAM,kBAAkB,GAAG,IAAI,KAAK,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,wBAAwB;gBACzC,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,CAAC;YACzF,KAAK,aAAa,CAAC,eAAe,EAAE,CAAC;gBACnC,MAAM,EACJ,YAAY,EAAE,IAAI,EAClB,YAAY,EACZ,gBAAgB,GACjB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxE,OAAO,EAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAC,CAAC;YAChD,CAAC;YACD,KAAK,aAAa,CAAC,gBAAgB;gBACjC,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;YACpC;gBACE,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;QACtC,CAAC;IAAA,CACF;IAED,4HAA4H;IAC5H,+HAA+H;IAC/H,wEAAwE;IACxE,0BAA0B;IAC1B,sEAAsE;IACtE,8BAA8B,CAC5B,SAAqB,EACrB,WAAmB,EACnB,WAAiB,EACqB;QACtC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,iFAAiF;YACjF,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,EAAC,CAAC;QACpF,CAAC;QACD,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,gFAAgF,EAAE;gBACrG,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACzF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QACF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QAExC,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QACtF,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAClF,SAAS,EACT,WAAW,EACX,YAAY,CACb,CAAC;QAEF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,IAAI,gBAAgB,CAAC,OAAO,EAAC,CAAC;QAChG,CAAC;QAED,MAAM,aAAa,GACjB,SAAS,CAAC,IAAI,KAAK,WAAW;YAC9B,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,kDAAkD,EAAE;YACvE,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,OAAO,EAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;IAAA,CAC/C;IAED;;OAEG;IACH,oBAAoB,GAAY;QAC9B,OAAO,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC;IAAA,CAChD;IAED;;;OAGG;IACH,mBAAmB,CAAC,SAAkB,EAAW;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAAA,CAC/E;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAqB,EAAE,WAAmB,EAAE,WAAiB,EAAc;QAC7F,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yEAAyE,EAAE;gBAC9F,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAExF,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,4EAA4E,EAAE;gBACjG,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS;gBAC1C,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,mEAAmE,EAAE;YACxF,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IAAA,CAClB;IAED;;;;;;;OAOG;IACH,eAAe,CACb,SAAqB,EACrB,WAAmB,EACnB,IAAU,EAC8E;QACxF,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1C,IAAI,YAAY,GAAG,SAAS,CAAC;QAE7B,6DAA6D;QAC7D,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,sEAAsE,EAAE;gBAC3F,IAAI;gBACJ,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACrG,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QAEF,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEnH,IAAI,kBAAkB,KAAK,SAAS,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAC,CAAC;QAChF,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC7F,CAAC;QAED,yDAAyD;QACzD,sFAAsF;QACtF,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,gDAAgD;QAChD,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,kIAAkI;QAClI,0GAA0G;QAC1G,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/E,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B;SAC1D,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QACvF,4CAA4C;QAC5C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YAChE,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,EAAC,CAAC;QAC3F,CAAC;QAED,4JAA4J;QAC5J,uGAAuG;QACvG,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAChF,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,6BAA6B;SAC5D,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QAC7F,8CAA8C;QAC9C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YACrE,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,0DAA0D,EAAE;YAC/E,IAAI;YACJ,YAAY,EAAE,WAAW,CAAC,SAAS;YACnC,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,YAAY,GAAG,WAAW,CAAC;QAE3B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC;IAAA,CACrC;IAED;;;;;;;;;;;OAWG;IACH,UAAU,GAAe;QACvB,gDAAgD;QAEhD,qFAAqF;QACrF,mCAAmC;QACnC,EAAE;QACF,0FAA0F;QAC1F,oCAAoC;QAEpC,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC;QAEpE,MAAM,KAAK,GAAG,oBAAoB,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,EACJ,MAAM,EACN,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,GAAG,aAAa,CACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAC5B,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,eAAe,EACpB,WAAW,EACX,WAAW,EACX,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACjC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC;QAEV,oBAAoB,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,oBAAoB,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChF,oBAAoB,EAAE,sBAAsB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC3E,oBAAoB,EAAE,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/D,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B;;;WAGG;QACH,IAAI,aAAa,GAA0C,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,kBAAkB,GACtB,IAAI,CAAC,2BAA2B;gBAChC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;oBACxD,aAAa,EAAE,eAAe;oBAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;iBACnD,CAAC,CAAC;YACL,aAAa,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAC,CAAC;YAC1E,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAChC,MAAM;YACN,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK;YACvD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;YACxD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK;YACtD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO;YACvD,WAAW;SACZ,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE9F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IAAA,CAClB;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAmB,EAAU;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC;IAAA,CAC/E;IAED,wFAAwF;IACxF,QAAQ,GAAiB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAAA,CAC7E;IAED,qCAAqC;IACrC,WAAW,GAAgB;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAAA,CAC9B;IAED,sBAAsB,GAAsB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAAA,CACzC;IAED,sBAAsB,GAAsB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;IAAA,CAC1C;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CACL,KAAkB,EAClB,KAAuB,EACvB,aAAqB,EACrB,WAAiB,EACjB,eAAqC,EACrC,sBAA8C,EAClC;QACZ,MAAM,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,mFAAmF;QACnF,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC;YACzE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,uBAAuB;QACvB,EAAE;QACF,0EAA0E;QAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,WAAW;oBAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBACrC,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2FAA2F;QAC3F,iBAAiB;QACjB,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACtF,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,aAAa;oBACb,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC1D,IAAI,iBAAiB,CAAC,SAAS,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,wBAAwB;oBAC/C,aAAa,EAAE,gBAAgB,CAAC,OAAO;oBACvC,aAAa,EAAE,iBAAiB,CAAC,SAAS;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,qDAAqD;QACrD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,IACE,IAAI,CAAC,IAAI,EAAE,aAAa;YACxB,QAAQ;YACR,oCAAoC;YACpC,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAC/B,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACxC,CAAC;QAED,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC;QAEtD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3E,0GAA0G;QAC1G,mCAAmC;QACnC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,EAAE,CACpE,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CACjE,CAAC;QAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE5C,iGAAiG;QACjG,uFAAuF;QACvF,mFAAmF;QACnF,sBAAsB;QACtB,EAAE;QACF,sEAAsE;QACtE,oGAAoG;QACpG,yGAAyG;QACzG,EAAE;QACF,uEAAuE;QACvE,oFAAoF;QACpF,wBAAwB;QACxB,IAAI,6BAAgD,CAAC;QACrD,IAAI,6BAAgD,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;YACjC,IACE,WAAW,CAAC,wBAAwB,KAAK,UAAU;gBACnD,WAAW,CAAC,wBAAwB,GAAG,CAAC,IAAI,UAAU,EACtD,CAAC;gBACD,iFAAiF;gBACjF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;iBAC7C,CAAC;gBACF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;iBAC7C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,MAAM,UAAU,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC;gBACxD,6BAA6B,GAAG,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBACpF,6BAA6B,GAAG,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B,GAAG,mBAAmB,CAAC;YACpD,6BAA6B,GAAG,mBAAmB,CAAC;QACtD,CAAC;QAED,0BAA0B;QAC1B,iEAAiE;QACjE,IAAI,CAAC,2BAA2B,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAClG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QAEF,mGAAmG;QACnG,IAAI,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CACxF,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE1F,2FAA2F;QAC3F,4EAA4E;QAC5E,MAAM,UAAU,GAAe;YAC7B,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;YACjC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YACrC,UAAU,EAAE,QAAQ;YAEpB,cAAc,EAAE,mBAAmB;YACnC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAC/D,cAAc,EAAE,mBAAmB,CAAC,KAAK;YACzC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACxD,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAC9D,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAE9D,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACL,mFAAmF;oBACnF,sFAAsF;oBACtF,0FAA0F;oBAC1F,gDAAgD;oBAChD,4DAA4D;oBAC5D,MAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAEvG,8EAA8E;oBAC9E,2EAA2E;oBAC3E,wDAAwD;oBACxD,gFAAgF;oBAChF,mFAAmF;oBACnF,MAAM,UAAU,GACd,WAAW,CAAC,yBAAyB,KAAK,IAAI;wBAC5C,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAC;wBAC1B,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,CAAC,sBAAsB,EAAE,QAAQ,EAAE,WAAW,CAAC,wBAAwB,EAAC,CAAC;oBAEnG,OAAO;wBACL,yBAAyB,EAAE,sBAAsB;wBACjD,sBAAsB,EAAE,UAAU,CAAC,MAAM;wBACzC,wBAAwB,EAAE,UAAU,CAAC,QAAQ;wBAC7C,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;wBAC7D,sBAAsB;qBACvB,CAAC;gBAAA,CACH,CAAC,EAAE;gBACN,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClC,oBAAoB,CAAC,KAAK,CAAC;oBAC3B,KAAK,CAAC,oBAAoB;oBAC1B,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC;wBACE,yBAAyB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;wBAC3E,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW;wBAC/D,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ;wBAC9D,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;wBAC7D,sBAAsB;qBACvB;oBACH,CAAC,CAAC;wBACE,yBAAyB,EAAE,IAAI;wBAC/B,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;wBAC5D,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC;qBAC3E,CAAC;YAER,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACrF,eAAe,EAAE,aAAa;SAC/B,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEzE,OAAO,UAAU,CAAC;IAAA,CACnB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,WAA+B,EAAE,WAAmB,EAAE,WAAqB,EAAQ;QAC/F,4CAA4C;QAC5C,EAAE;QACF,wFAAwF;QACxF,gFAAgF;QAChF,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,6DAA6D;QAC7D,gDAAgD;QAChD,EAAE;QACF,yFAAyF;QACzF,2FAA2F;QAC3F,iDAAiD;QACjD,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;QACzC,MAAM,EAAC,IAAI,EAAE,eAAe,EAAC,GAAG,eAAe,CAAC;QAChD,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnG,uCAAuC;QACvC,cAAc;QACd,iCAAiC;QACjC,uEAAuE;QACvE,IAAI,aAA4B,CAAC;QAEjC,uEAAuE;QACvE,oHAAoH;QACpH,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,mFAAmF;YACnF,4EAA4E;YAC5E,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;qBAAM,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBACvC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;wBAC7C,GAAG,EAAE;4BACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;4BAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,EAAE;YACF,MAAM;YACN,oEAAoE;YACpE,0EAA0E;YAC1E,MAAM;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACzD,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;IAAA,CACF;IAED;;;;OAIG;IACH,kBAAkB,CAAC,gBAAkC,EAAQ;QAC3D,qFAAqF;QACrF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;QAC1E,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;IAAA,CACF;IAED;;;;OAIG;IACH,iBAAiB,CAAC,SAAkB,EAAE,UAAoB,EAAE,cAAuB,EAAQ;QACzF,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAAA,CAC1E;IAED;;;;OAIG;IACH,kBAAkB,CAChB,SAAkB,EAClB,yBAAkC,EAClC,sBAA8B,EAC9B,wBAAgC,EAChC,eAAuC,EACvC,sBAA8C,EACxC;QACN,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAChC,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,IAAI,CAAC,iBAAiB,EACtB,eAAe,EACf,sBAAsB,CACvB,CAAC;IAAA,CACH;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,WAAiB,EAAQ;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW;YAAE,OAAO;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,sGAAsG;YACtG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;QACxC,uDAAuD;QACvD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;IAAA,CAC5C;IAED,OAAO,GAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAAA,CACjC;IAED,uFAAuF;IACvF,QAAQ,CAAC,SAAe,EAAW;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAAA,CAC/C;IACD,+FAA+F;IAC/F,QAAQ,CAAC,SAAe,EAAE,aAA4B,EAAqB;QACzE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;IAAA,CAC9D;IAED,qBAAqB,CAAC,SAAe,EAAqB;QACxD,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAAA,CAC5D;IAED;;;OAGG;IACH,WAAW,CAAC,SAAkB,EAAW;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAAA,CAC1D;IAED;;OAEG;IACH,cAAc,CAAC,SAAe,EAAW;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAAA,CACrD;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAkB,EAAW;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAAA,CAC5C;IAED;;;OAGG;IACH,gBAAgB,CAAC,SAAe,EAAW;QACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAAA,CACvD;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAkB,EAAW;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAAA,CAC9C;IAED,WAAW,CAAC,YAAqB,EAA6B;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAAA,CAClD;IAED;;OAEG;IACH,WAAW,CAAC,SAAkB,EAAE,aAA4B,EAAqB;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;SACR,CAAC;IAAA,CACH;IAED;;;;;;;OAOG;IACH,wBAAwB,CAAC,SAAkB,EAAqB;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACnD;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,SAAkB,EAAqB;QACjF,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAAA,CACtE;IAED,iBAAiB,GAAe;QAC9B,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IAAA,CACd;IAED,iBAAiB,GAAe;QAC9B,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IAAA,CACd;IAED,0BAA0B,GAAS;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC9D,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAAA,CAChD;IAED;;;;;OAKG;IACH,YAAY,CACV,YAAqB,EACrB,qBAAoC,EACpC,cAAuB,EACvB,uBAAsC,EAC7B;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAAA,CACnH;IAED;;OAEG;IACH,KAAK,CAAC,aAAsB,EAAgB;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAEhD,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;gBACrC,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,WAAW,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBAClC,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IAAA,CACpB;IAED,iBAAiB,CAAC,SAAiB,EAAQ;QACzC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC;IAAA,CAC5C;IAED;;;OAGG;IACH,qBAAqB,CAAC,SAAkB,EAAE,aAA4B,EAAgC;QACpG,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACvE;IAED;;;;OAIG;IACH,oBAAoB,CAAC,SAAkB,EAAE,aAA4B,EAAgB;QACnF,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACtE;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,aAA4B,EAAgB;QACtF,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACzE;IAED;;;;;;OAMG;IACH,kCAAkC,CAChC,SAAkB,EAClB,aAA4B,EAC2B;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACpF;IAED;;OAEG;IACH,+CAA+C,CAAC,SAAkB,EAGhE;QACA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,kCAAkC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CAC1E;IAED,uBAAuB,CAAC,SAAe,EAAqB;QAC1D,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IAAA,CACb;IAED,uBAAuB,CAAC,IAAU,EAAqB;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IAAA,CACb;IAED,+BAA+B,CAAC,IAAU,EAAqB;QAC7D,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IAAA,CACb;IAED,sGAAsG;IACtG,4BAA4B,GAAiB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAAA,CAC9B;IAED,CAAC,yBAAyB,CAAC,SAAkB,EAAE,aAA4B,EAAgC;QACzG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC;IAAA,CACF;IAED,sCAAsC,CAAC,SAAkB,EAAgC;QACvF,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAAA,CACjE;IAED,sGAAsG;IACtG,6BAA6B,CAAC,UAAmB,EAAgB;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAAA,CAC/E;IAED,sGAAsG;IACtG,uBAAuB,CAAC,IAAU,EAAgB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IAAA,CACrB;IAED,mGAAmG;IACnG,sBAAsB,CAAC,SAAqB,EAAE,QAAoB,EAAkB;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,YAAY,EAAC,CAAC;QAC7C,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5E,oEAAoE;QACpE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,iBAAiB,EAAC,CAAC;QAClD,CAAC;QAED,qFAAqF;QACrF,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YACtG,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,UAAU,EAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,EAAC,CAAC;IAAA,CAClH;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAA6B,EAAQ;QACtD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,8BAA8B,EAAE,CAAC;gBACvG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IAAA,CACF;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,KAAiB,EAAE,eAAgC,EAAW;QAC7E,8EAA8E;QAC9E,+FAA+F;QAC/F,8FAA8F;QAC9F,kFAAkF;QAElF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,eAAe,GAAG,eAAe,CAAC;QAEnG,qEAAqE;QACrE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,YAAY,CAAC,SAAS,CAAC;QAChC,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;QACpD,OAAO,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;YACnC,yDAAyD;YACzD,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YAED,2EAA2E;YAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YAED,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5F,8DAA8D;YAC9D,oGAAoG;YACpG,0FAA0F;YAC1F,yDAAyD;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,CAAC,2CAA2C,KAAK,CAAC,IAAI,sBAAsB,eAAe,EAAE,CAAC,CAAC;IAAA,CAC3G;IAED;;;OAGG;IACO,aAAa,CAAC,KAAkB,EAAE,aAAqB,EAAW;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,uBAAuB,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,IAAI,uBAAuB,CAAC;IAAA,CAC3E;IAED;;OAEG;IACK,iBAAiB,CAAC,WAAmB,EAAE,IAAU,EAAW;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACvE,OAAO,WAAW,GAAG,IAAI,IAAI,mBAAmB,CAAC;IAAA,CAClD;IAEO,qBAAqB,CAAC,eAAqC,EAA4B;QAC7F,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ;YAC9C,MAAM,KAAK,CAAC,iDAAiD,eAAe,CAAC,QAAQ,SAAS,eAAe,EAAE,CAAC,CAAC;QACnH,OAAO,eAAe,CAAC;IAAA,CACxB;IAEO,qBAAqB,CAAC,sBAA8C,EAAkC;QAC5G,IAAI,sBAAsB,KAAK,sBAAsB,CAAC,OAAO;YAC3D,MAAM,KAAK,CACT,4CAA4C,sBAAsB,CAAC,OAAO,SAAS,sBAAsB,EAAE,CAC5G,CAAC;QACJ,OAAO,sBAAsB,CAAC;IAAA,CAC/B;IAEO,sBAAsB,CAC5B,eAAqC,EACY;QACjD,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ;YAC9C,MAAM,KAAK,CACT,kDAAkD,eAAe,CAAC,OAAO,OAAO,eAAe,CAAC,KAAK,SAAS,eAAe,EAAE,CAChI,CAAC;QACJ,OAAO,eAAe,CAAC;IAAA,CACxB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,iBAAiB,CACvB,mBAAsC,EACtC,mBAAsC,EACtC,oBAA6C,EACvC;QACN,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAC,CAAC;YAC7F,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YACvD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;IAAA,CACF;IAED;;OAEG;IACK,2BAA2B,CACjC,6BAAgD,EAChD,6BAAgD,EAChD,oBAA6C,EACvC;QACN,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG;gBACjC,UAAU,EAAE,6BAA6B;gBACzC,QAAQ,EAAE,oBAAoB,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;YAC3F,IAAI,CAAC,OAAO,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;QAC7E,CAAC;IAAA,CACF;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,kBAAsC,EACtC,IAAU,EACV,YAAoB,EACpB,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB,EACf;QACN,gFAAgF;QAChF,kBAAkB;QAClB,EAAE;QACF,wFAAwF;QACxF,kFAAkF;QAClF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,0BAA0B;iBACxD;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACnH,CAAC;IAAA,CACF;IAEO,uBAAuB,CAC7B,eAAuC,EACvC,IAAU,EACV,kBAA0B,EAC1B,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB,EACf;QACN,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,0DAA0D;QAC1D,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,YAAY;oBACzC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,UAAU;oBACvC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,KAAK,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,gBAAgB;oBAC7C,MAAM,EAAE,WAAW;oBACnB,IAAI;iBACL;aACF,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,EAAE;QACF,qFAAqF;QACrF,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,mBAAmB;oBAChD,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,EAAE;QACF,2FAA2F;QAC3F,iFAAiF;QACjF,2FAA2F;QAC3F,EAAE;QACF,sFAAsF;QACtF,wDAAwD;QACxD,iEAAiE;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;oBAC/C,eAAe,EAAE,kBAAkB;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,2FAA2F;QAC3F,2FAA2F;QAC3F,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAE/G,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,cAAc;oBAC3C,WAAW,EAAE,aAAa;oBAC1B,KAAK,EAAE,iBAAiB;iBACzB;aACF,CAAC,CAAC;QACL,CAAC;QAED,0FAA0F;QAC1F,4BAA4B;QAC5B,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,uBAAuB;oBACpD,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,qDAAqD;YACrD,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;oBAC7C,GAAG,EAAE;wBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;wBAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;YAED,+DAA+D;YAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;oBAC7C,GAAG,EAAE;wBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;wBAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;YAED,0DAA0D;YAC1D,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,kBAAkB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC1G,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;wBAC7C,GAAG,EAAE;4BACH,IAAI,EAAE,sBAAsB,CAAC,sBAAsB;4BACnD,eAAe,EAAE,kBAAkB;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAAA,CACjD;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CACtB,cAA8B,EAC9B,QAAc,EACd,QAAiB,EACjB,iBAAgC,EAC1B;QACN,+DAA+D;QAC/D,yCAAyC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,uBAAuB,iBAAiB,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;gBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,gBAAgB,KAAK,cAAc,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/G,6DAA6D;YAC7D,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;QAChD,CAAC;QACD,uCAAuC;IADtC,CAEF;IAED;;;OAGG;IACK,uBAAuB,GAAS;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC;oBAC/B,KAAK,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;wBACvE,mDAAmD;wBACnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;oBAC3E,CAAC;oBAED,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,8BAA8B,IAAI,cAAc,CAAC,IAAI,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;IAAA,CACF;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,IAAU,EAAQ;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAE9C,IAAI,IAAI,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,YAAY;gBACZ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,wGAAwG;YACxG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAC3C,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAChD,CAAC;IAAA,CACH;IAED;;;;;OAKG;IACK,0BAA0B,CAChC,SAAqB,EACrB,WAAuB,EACvB,IAAU,EACmE;QAC7E,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,mCAAmC;QACnC,0GAA0G;QAC1G,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,6EAA6E;QAC7E,iHAAiH;QACjH,MAAM,iBAAiB,GAAG,IAAI,GAAG,eAAe,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC3F,CAAC;QAED,gEAAgE;QAChE,gHAAgH;QAChH,MAAM,EAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAC,GAAG,SAAS,CAAC;QACzG,MAAM,EAAC,wBAAwB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAC,GAAG,WAAW,CAAC;QAC/G,MAAM,gBAAgB,GAAG,gBAAgB,KAAK,kBAAkB,IAAI,eAAe,KAAK,iBAAiB,CAAC;QAC1G,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,iFAAiF;QACjF,gHAAgH;QAChH,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;QAC/F,MAAM,gBAAgB,GAAG,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC;QACpG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,mBAAmB,EAAC,CAAC;QAC5F,CAAC;QAED,uDAAuD;QACvD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kCAAkC,EAAC,CAAC;QAC3G,CAAC;QAED,kBAAkB,GAAG,WAAW,CAAC;QAEjC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAAA,CAC7B;CACF;AAED,+HAA+H;AAC/H,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAClC,sCAA8C,EAC9C,MAAyD,EACjD;IACR,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAClG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,CACtE"}
1
+ {"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
@@ -160,12 +160,8 @@ export interface IForkChoice {
160
160
  * ## Specification
161
161
  *
162
162
  * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.0/specs/gloas/fork-choice.md#new-notify_ptc_messages
163
- *
164
- * @param blockRoot - The beacon block root being attested
165
- * @param ptcIndices - Array of PTC committee indices that voted
166
- * @param payloadPresent - Whether validators attest the payload is present
167
163
  */
168
- notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean): void;
164
+ notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean, blobDataAvailable: boolean): void;
169
165
  /**
170
166
  * Notify fork choice that an execution payload has arrived (Gloas fork)
171
167
  * Creates the FULL variant of a Gloas block when the payload becomes available
@@ -215,6 +211,8 @@ export interface IForkChoice {
215
211
  getBlockHexDefaultStatus(blockRoot: RootHex): ProtoBlock | null;
216
212
  getBlockHexAndBlockHash(blockRoot: RootHex, blockHash: RootHex): ProtoBlock | null;
217
213
  shouldExtendPayload(blockRoot: RootHex): boolean;
214
+ /** Spec: should_build_on_full(store, head) */
215
+ shouldBuildOnFull(head: ProtoBlock): boolean;
218
216
  getFinalizedBlock(): ProtoBlock;
219
217
  getJustifiedBlock(): ProtoBlock;
220
218
  getFinalizedCheckpointSlot(): Slot;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/forkChoice/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/forkChoice/interface.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,11 @@ import { DataAvailabilityStatus } from "@lodestar/state-transition";
3
3
  import { Epoch, RootHex, Slot } from "@lodestar/types";
4
4
  import { LVHExecError } from "./errors.js";
5
5
  import { LVHExecResponse, PayloadExecutionStatus, PayloadStatus, ProtoBlock, ProtoNode } from "./interface.js";
6
+ /**
7
+ * popcount(attended AND NOT yes) — explicit False-vote count.
8
+ * Excludes PTC members who didn't attest (the None state).
9
+ */
10
+ export declare function countNoVotes(attended: BitArray, yes: BitArray): number;
6
11
  export declare const DEFAULT_PRUNE_THRESHOLD = 0;
7
12
  type ProposerBoost = {
8
13
  root: RootHex;
@@ -40,12 +45,25 @@ export declare class ProtoArray {
40
45
  /**
41
46
  * PTC (Payload Timeliness Committee) votes per block as bitvectors
42
47
  * Maps block root to BitArray of PTC_SIZE bits (512 mainnet, 2 minimal)
43
- * Spec: gloas/fork-choice.md#modified-store (line 148)
48
+ * Spec: gloas/fork-choice.md#modified-store (payload_timeliness_vote)
44
49
  *
45
- * Bit i is set if PTC member i voted payload_present=true
46
- * Used by is_payload_timely() to determine if payload is timely
50
+ * Bit i = PTC member i voted payloadPresent=true (timeliness YES vote)
47
51
  */
48
52
  private ptcVotes;
53
+ /**
54
+ * Blob data availability votes per block.
55
+ * Spec: gloas/fork-choice.md#modified-store (payload_data_availability_vote)
56
+ *
57
+ * Bit i = PTC member i voted blobDataAvailable=true (DA YES vote)
58
+ */
59
+ private daVotes;
60
+ /**
61
+ * Tracks which PTC members have attested at all (any payload_status).
62
+ * Without this, we cannot tell "didn't vote" (None) from "voted false" —
63
+ * a distinction required by payload_timeliness/payload_data_availability
64
+ * when called with the negative parameter value.
65
+ */
66
+ private ptcAttested;
49
67
  constructor({ pruneThreshold, justifiedEpoch, justifiedRoot, finalizedEpoch, finalizedRoot }: {
50
68
  pruneThreshold: number;
51
69
  justifiedEpoch: Epoch;
@@ -153,26 +171,33 @@ export declare class ProtoArray {
153
171
  onExecutionPayload(blockRoot: RootHex, currentSlot: Slot, executionPayloadBlockHash: RootHex, executionPayloadNumber: number, executionPayloadGasLimit: number, proposerBoostRoot: RootHex | null, executionStatus: PayloadExecutionStatus, dataAvailabilityStatus: DataAvailabilityStatus): void;
154
172
  /**
155
173
  * Update PTC votes for multiple validators attesting to a block
156
- * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
157
- *
158
- * @param blockRoot - The beacon block root being attested
159
- * @param ptcIndices - Array of PTC committee indices that voted (0..PTC_SIZE-1)
160
- * @param payloadPresent - Whether the validators attest the payload is present
174
+ * Spec: gloas/fork-choice.md#new-notify_ptc_messages
161
175
  */
162
- notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean): void;
176
+ notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean, blobDataAvailable: boolean): void;
163
177
  getPTCVotes(blockRootHex: RootHex): BitArray | null;
164
178
  /**
165
- * Check if execution payload for a block is timely
166
- * Spec: gloas/fork-choice.md#new-is_payload_timely
167
- *
168
- * Returns true if:
169
- * 1. Block has PTC votes tracked
170
- * 2. Payload is locally available (FULL variant exists in proto array)
171
- * 3. More than PAYLOAD_TIMELY_THRESHOLD (>50% of PTC) members voted payload_present=true
172
- *
173
- * @param blockRoot - The beacon block root to check
179
+ * Spec: payload_timeliness(store, root, timely=True)
174
180
  */
175
181
  isPayloadTimely(blockRoot: RootHex): boolean;
182
+ /**
183
+ * Spec: payload_timeliness(store, root, timely=False)
184
+ */
185
+ isPayloadNotTimely(blockRoot: RootHex): boolean;
186
+ /**
187
+ * Spec: payload_data_availability(store, root, available=True)
188
+ */
189
+ isPayloadDataAvailable(blockRoot: RootHex): boolean;
190
+ /**
191
+ * Spec: payload_data_availability(store, root, available=False)
192
+ */
193
+ isPayloadDataNotAvailable(blockRoot: RootHex): boolean;
194
+ /**
195
+ * Spec: should_build_on_full(store, head)
196
+ *
197
+ * The proposer is forced to build on the EMPTY variant (effectively reorging)
198
+ * when the PTC majority voted that the blob data is not available.
199
+ */
200
+ shouldBuildOnFull(head: ProtoBlock): boolean;
176
201
  /**
177
202
  * Check if parent node is FULL
178
203
  * Spec: gloas/fork-choice.md#new-is_parent_node_full
@@ -1 +1 @@
1
- {"version":3,"file":"protoArray.d.ts","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protoArray.d.ts","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,28 @@ import { ExecutionStatus, HEX_ZERO_HASH, PayloadStatus, isGloasBlock, } from "./
10
10
  * Spec: gloas/fork-choice.md (PAYLOAD_TIMELY_THRESHOLD = PTC_SIZE // 2)
11
11
  */
12
12
  const PAYLOAD_TIMELY_THRESHOLD = Math.floor(PTC_SIZE / 2);
13
+ /**
14
+ * Threshold for blob data availability via PTC vote
15
+ * Spec: gloas/fork-choice.md (DATA_AVAILABILITY_TIMELY_THRESHOLD = PTC_SIZE // 2)
16
+ */
17
+ const DATA_AVAILABILITY_TIMELY_THRESHOLD = Math.floor(PTC_SIZE / 2);
18
+ /**
19
+ * popcount(attended AND NOT yes) — explicit False-vote count.
20
+ * Excludes PTC members who didn't attest (the None state).
21
+ */
22
+ export function countNoVotes(attended, yes) {
23
+ const a = attended.uint8Array;
24
+ const y = yes.uint8Array;
25
+ let count = 0;
26
+ for (let i = 0; i < a.length; i++) {
27
+ let byte = a[i] & ~y[i] & 0xff;
28
+ while (byte) {
29
+ byte &= byte - 1;
30
+ count++;
31
+ }
32
+ }
33
+ return count;
34
+ }
13
35
  export const DEFAULT_PRUNE_THRESHOLD = 0;
14
36
  const ZERO_HASH_HEX = toRootHex(Buffer.alloc(32, 0));
15
37
  export class ProtoArray {
@@ -37,12 +59,25 @@ export class ProtoArray {
37
59
  /**
38
60
  * PTC (Payload Timeliness Committee) votes per block as bitvectors
39
61
  * Maps block root to BitArray of PTC_SIZE bits (512 mainnet, 2 minimal)
40
- * Spec: gloas/fork-choice.md#modified-store (line 148)
62
+ * Spec: gloas/fork-choice.md#modified-store (payload_timeliness_vote)
41
63
  *
42
- * Bit i is set if PTC member i voted payload_present=true
43
- * Used by is_payload_timely() to determine if payload is timely
64
+ * Bit i = PTC member i voted payloadPresent=true (timeliness YES vote)
44
65
  */
45
66
  ptcVotes = new Map();
67
+ /**
68
+ * Blob data availability votes per block.
69
+ * Spec: gloas/fork-choice.md#modified-store (payload_data_availability_vote)
70
+ *
71
+ * Bit i = PTC member i voted blobDataAvailable=true (DA YES vote)
72
+ */
73
+ daVotes = new Map();
74
+ /**
75
+ * Tracks which PTC members have attested at all (any payload_status).
76
+ * Without this, we cannot tell "didn't vote" (None) from "voted false" —
77
+ * a distinction required by payload_timeliness/payload_data_availability
78
+ * when called with the negative parameter value.
79
+ */
80
+ ptcAttested = new Map();
46
81
  constructor({ pruneThreshold, justifiedEpoch, justifiedRoot, finalizedEpoch, finalizedRoot, }) {
47
82
  this.pruneThreshold = pruneThreshold;
48
83
  this.justifiedEpoch = justifiedEpoch;
@@ -401,9 +436,11 @@ export class ProtoArray {
401
436
  }
402
437
  // Update bestChild for PENDING → EMPTY edge
403
438
  this.maybeUpdateBestChildAndDescendant(pendingIndex, emptyIndex, currentSlot, proposerBoostRoot);
404
- // Initialize PTC votes for this block (all false initially)
405
- // Spec: gloas/fork-choice.md#modified-on_block (line 645)
439
+ // Initialize PTC vote bitvectors for this block.
440
+ // Spec: gloas/fork-choice.md#modified-on_block
406
441
  this.ptcVotes.set(block.blockRoot, BitArray.fromBitLen(PTC_SIZE));
442
+ this.ptcAttested.set(block.blockRoot, BitArray.fromBitLen(PTC_SIZE));
443
+ this.daVotes.set(block.blockRoot, BitArray.fromBitLen(PTC_SIZE));
407
444
  }
408
445
  else {
409
446
  // Pre-Gloas: Only create FULL node (payload embedded in block)
@@ -500,15 +537,13 @@ export class ProtoArray {
500
537
  }
501
538
  /**
502
539
  * Update PTC votes for multiple validators attesting to a block
503
- * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
504
- *
505
- * @param blockRoot - The beacon block root being attested
506
- * @param ptcIndices - Array of PTC committee indices that voted (0..PTC_SIZE-1)
507
- * @param payloadPresent - Whether the validators attest the payload is present
540
+ * Spec: gloas/fork-choice.md#new-notify_ptc_messages
508
541
  */
509
- notifyPtcMessages(blockRoot, ptcIndices, payloadPresent) {
542
+ notifyPtcMessages(blockRoot, ptcIndices, payloadPresent, blobDataAvailable) {
510
543
  const votes = this.ptcVotes.get(blockRoot);
511
- if (votes === undefined) {
544
+ const attended = this.ptcAttested.get(blockRoot);
545
+ const daVotes = this.daVotes.get(blockRoot);
546
+ if (votes === undefined || attended === undefined || daVotes === undefined) {
512
547
  // Block not found or not a Gloas block, ignore
513
548
  return;
514
549
  }
@@ -517,6 +552,8 @@ export class ProtoArray {
517
552
  throw new Error(`Invalid PTC index: ${ptcIndex}, must be 0..${PTC_SIZE - 1}`);
518
553
  }
519
554
  votes.set(ptcIndex, payloadPresent);
555
+ daVotes.set(ptcIndex, blobDataAvailable);
556
+ attended.set(ptcIndex, true);
520
557
  }
521
558
  }
522
559
  getPTCVotes(blockRootHex) {
@@ -528,29 +565,66 @@ export class ProtoArray {
528
565
  return votes;
529
566
  }
530
567
  /**
531
- * Check if execution payload for a block is timely
532
- * Spec: gloas/fork-choice.md#new-is_payload_timely
533
- *
534
- * Returns true if:
535
- * 1. Block has PTC votes tracked
536
- * 2. Payload is locally available (FULL variant exists in proto array)
537
- * 3. More than PAYLOAD_TIMELY_THRESHOLD (>50% of PTC) members voted payload_present=true
538
- *
539
- * @param blockRoot - The beacon block root to check
568
+ * Spec: payload_timeliness(store, root, timely=True)
540
569
  */
541
570
  isPayloadTimely(blockRoot) {
542
571
  const votes = this.ptcVotes.get(blockRoot);
543
- if (votes === undefined) {
544
- // Block not found or not a Gloas block
572
+ if (votes === undefined)
545
573
  return false;
546
- }
547
- // If payload is not locally available, it's not timely
548
- if (!this.hasPayload(blockRoot)) {
574
+ if (!this.hasPayload(blockRoot))
549
575
  return false;
576
+ return bitCount(votes.uint8Array) > PAYLOAD_TIMELY_THRESHOLD;
577
+ }
578
+ /**
579
+ * Spec: payload_timeliness(store, root, timely=False)
580
+ */
581
+ isPayloadNotTimely(blockRoot) {
582
+ const votes = this.ptcVotes.get(blockRoot);
583
+ const attended = this.ptcAttested.get(blockRoot);
584
+ if (votes === undefined || attended === undefined)
585
+ return false;
586
+ // Spec: not verified locally → returns `not False = True`
587
+ if (!this.hasPayload(blockRoot))
588
+ return true;
589
+ return countNoVotes(attended, votes) > PAYLOAD_TIMELY_THRESHOLD;
590
+ }
591
+ /**
592
+ * Spec: payload_data_availability(store, root, available=True)
593
+ */
594
+ isPayloadDataAvailable(blockRoot) {
595
+ const daVotes = this.daVotes.get(blockRoot);
596
+ if (daVotes === undefined)
597
+ return false;
598
+ if (!this.hasPayload(blockRoot))
599
+ return false;
600
+ return bitCount(daVotes.uint8Array) > DATA_AVAILABILITY_TIMELY_THRESHOLD;
601
+ }
602
+ /**
603
+ * Spec: payload_data_availability(store, root, available=False)
604
+ */
605
+ isPayloadDataNotAvailable(blockRoot) {
606
+ const daVotes = this.daVotes.get(blockRoot);
607
+ const attended = this.ptcAttested.get(blockRoot);
608
+ if (daVotes === undefined || attended === undefined)
609
+ return false;
610
+ // Spec: not verified locally → returns `not False = True`
611
+ if (!this.hasPayload(blockRoot))
612
+ return true;
613
+ return countNoVotes(attended, daVotes) > DATA_AVAILABILITY_TIMELY_THRESHOLD;
614
+ }
615
+ /**
616
+ * Spec: should_build_on_full(store, head)
617
+ *
618
+ * The proposer is forced to build on the EMPTY variant (effectively reorging)
619
+ * when the PTC majority voted that the blob data is not available.
620
+ */
621
+ shouldBuildOnFull(head) {
622
+ if (head.payloadStatus === PayloadStatus.PENDING) {
623
+ throw new Error("shouldBuildOnFull called with PENDING head");
550
624
  }
551
- // Count votes for payload_present=true
552
- const yesVotes = bitCount(votes.uint8Array);
553
- return yesVotes > PAYLOAD_TIMELY_THRESHOLD;
625
+ if (head.payloadStatus === PayloadStatus.EMPTY)
626
+ return false;
627
+ return !this.isPayloadDataNotAvailable(head.blockRoot);
554
628
  }
555
629
  /**
556
630
  * Check if parent node is FULL
@@ -935,6 +1009,8 @@ export class ProtoArray {
935
1009
  // Prune PTC votes for this block to prevent memory leak
936
1010
  // Spec: gloas/fork-choice.md (implicit - finalized blocks don't need PTC votes)
937
1011
  this.ptcVotes.delete(root);
1012
+ this.ptcAttested.delete(root);
1013
+ this.daVotes.delete(root);
938
1014
  }
939
1015
  // Store nodes prior to finalization
940
1016
  const removed = this.nodes.slice(0, finalizedIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.44.0-dev.985999b30c",
14
+ "version": "1.44.0-dev.b506aab66d",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -40,11 +40,11 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@chainsafe/ssz": "^1.4.0",
43
- "@lodestar/config": "^1.44.0-dev.985999b30c",
44
- "@lodestar/params": "^1.44.0-dev.985999b30c",
45
- "@lodestar/state-transition": "^1.44.0-dev.985999b30c",
46
- "@lodestar/types": "^1.44.0-dev.985999b30c",
47
- "@lodestar/utils": "^1.44.0-dev.985999b30c"
43
+ "@lodestar/config": "^1.44.0-dev.b506aab66d",
44
+ "@lodestar/params": "^1.44.0-dev.b506aab66d",
45
+ "@lodestar/state-transition": "^1.44.0-dev.b506aab66d",
46
+ "@lodestar/types": "^1.44.0-dev.b506aab66d",
47
+ "@lodestar/utils": "^1.44.0-dev.b506aab66d"
48
48
  },
49
49
  "keywords": [
50
50
  "ethereum",
@@ -52,5 +52,5 @@
52
52
  "beacon",
53
53
  "blockchain"
54
54
  ],
55
- "gitHead": "e712435e176f016299cfbadf0e6d836ee353e4ec"
55
+ "gitHead": "c07ffb9e0678952454bc8af55b63ac47bfd212eb"
56
56
  }
@@ -318,6 +318,11 @@ export class ForkChoice implements IForkChoice {
318
318
  return this.protoArray.shouldExtendPayload(blockRoot, this.proposerBoostRoot);
319
319
  }
320
320
 
321
+ /** Spec: should_build_on_full(store, head) */
322
+ shouldBuildOnFull(head: ProtoBlock): boolean {
323
+ return this.protoArray.shouldBuildOnFull(head);
324
+ }
325
+
321
326
  /**
322
327
  * To predict the proposer head of the next slot. That is, to predict if proposer-boost-reorg could happen.
323
328
  * Reason why we can't be certain is because information of the head block is not fully available yet
@@ -934,8 +939,13 @@ export class ForkChoice implements IForkChoice {
934
939
  * Updates the PTC votes for multiple validators attesting to a block
935
940
  * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
936
941
  */
937
- notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean): void {
938
- this.protoArray.notifyPtcMessages(blockRoot, ptcIndices, payloadPresent);
942
+ notifyPtcMessages(
943
+ blockRoot: RootHex,
944
+ ptcIndices: number[],
945
+ payloadPresent: boolean,
946
+ blobDataAvailable: boolean
947
+ ): void {
948
+ this.protoArray.notifyPtcMessages(blockRoot, ptcIndices, payloadPresent, blobDataAvailable);
939
949
  }
940
950
 
941
951
  /**
@@ -181,12 +181,13 @@ export interface IForkChoice {
181
181
  * ## Specification
182
182
  *
183
183
  * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.0/specs/gloas/fork-choice.md#new-notify_ptc_messages
184
- *
185
- * @param blockRoot - The beacon block root being attested
186
- * @param ptcIndices - Array of PTC committee indices that voted
187
- * @param payloadPresent - Whether validators attest the payload is present
188
184
  */
189
- notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean): void;
185
+ notifyPtcMessages(
186
+ blockRoot: RootHex,
187
+ ptcIndices: number[],
188
+ payloadPresent: boolean,
189
+ blobDataAvailable: boolean
190
+ ): void;
190
191
  /**
191
192
  * Notify fork choice that an execution payload has arrived (Gloas fork)
192
193
  * Creates the FULL variant of a Gloas block when the payload becomes available
@@ -244,6 +245,8 @@ export interface IForkChoice {
244
245
  getBlockHexDefaultStatus(blockRoot: RootHex): ProtoBlock | null;
245
246
  getBlockHexAndBlockHash(blockRoot: RootHex, blockHash: RootHex): ProtoBlock | null;
246
247
  shouldExtendPayload(blockRoot: RootHex): boolean;
248
+ /** Spec: should_build_on_full(store, head) */
249
+ shouldBuildOnFull(head: ProtoBlock): boolean;
247
250
  getFinalizedBlock(): ProtoBlock;
248
251
  getJustifiedBlock(): ProtoBlock;
249
252
  getFinalizedCheckpointSlot(): Slot;
@@ -21,6 +21,29 @@ import {
21
21
  * Spec: gloas/fork-choice.md (PAYLOAD_TIMELY_THRESHOLD = PTC_SIZE // 2)
22
22
  */
23
23
  const PAYLOAD_TIMELY_THRESHOLD = Math.floor(PTC_SIZE / 2);
24
+ /**
25
+ * Threshold for blob data availability via PTC vote
26
+ * Spec: gloas/fork-choice.md (DATA_AVAILABILITY_TIMELY_THRESHOLD = PTC_SIZE // 2)
27
+ */
28
+ const DATA_AVAILABILITY_TIMELY_THRESHOLD = Math.floor(PTC_SIZE / 2);
29
+
30
+ /**
31
+ * popcount(attended AND NOT yes) — explicit False-vote count.
32
+ * Excludes PTC members who didn't attest (the None state).
33
+ */
34
+ export function countNoVotes(attended: BitArray, yes: BitArray): number {
35
+ const a = attended.uint8Array;
36
+ const y = yes.uint8Array;
37
+ let count = 0;
38
+ for (let i = 0; i < a.length; i++) {
39
+ let byte = a[i] & ~y[i] & 0xff;
40
+ while (byte) {
41
+ byte &= byte - 1;
42
+ count++;
43
+ }
44
+ }
45
+ return count;
46
+ }
24
47
 
25
48
  export const DEFAULT_PRUNE_THRESHOLD = 0;
26
49
  type ProposerBoost = {root: RootHex; score: number};
@@ -64,12 +87,25 @@ export class ProtoArray {
64
87
  /**
65
88
  * PTC (Payload Timeliness Committee) votes per block as bitvectors
66
89
  * Maps block root to BitArray of PTC_SIZE bits (512 mainnet, 2 minimal)
67
- * Spec: gloas/fork-choice.md#modified-store (line 148)
90
+ * Spec: gloas/fork-choice.md#modified-store (payload_timeliness_vote)
68
91
  *
69
- * Bit i is set if PTC member i voted payload_present=true
70
- * Used by is_payload_timely() to determine if payload is timely
92
+ * Bit i = PTC member i voted payloadPresent=true (timeliness YES vote)
71
93
  */
72
94
  private ptcVotes = new Map<RootHex, BitArray>();
95
+ /**
96
+ * Blob data availability votes per block.
97
+ * Spec: gloas/fork-choice.md#modified-store (payload_data_availability_vote)
98
+ *
99
+ * Bit i = PTC member i voted blobDataAvailable=true (DA YES vote)
100
+ */
101
+ private daVotes = new Map<RootHex, BitArray>();
102
+ /**
103
+ * Tracks which PTC members have attested at all (any payload_status).
104
+ * Without this, we cannot tell "didn't vote" (None) from "voted false" —
105
+ * a distinction required by payload_timeliness/payload_data_availability
106
+ * when called with the negative parameter value.
107
+ */
108
+ private ptcAttested = new Map<RootHex, BitArray>();
73
109
 
74
110
  constructor({
75
111
  pruneThreshold,
@@ -514,9 +550,11 @@ export class ProtoArray {
514
550
  // Update bestChild for PENDING → EMPTY edge
515
551
  this.maybeUpdateBestChildAndDescendant(pendingIndex, emptyIndex, currentSlot, proposerBoostRoot);
516
552
 
517
- // Initialize PTC votes for this block (all false initially)
518
- // Spec: gloas/fork-choice.md#modified-on_block (line 645)
553
+ // Initialize PTC vote bitvectors for this block.
554
+ // Spec: gloas/fork-choice.md#modified-on_block
519
555
  this.ptcVotes.set(block.blockRoot, BitArray.fromBitLen(PTC_SIZE));
556
+ this.ptcAttested.set(block.blockRoot, BitArray.fromBitLen(PTC_SIZE));
557
+ this.daVotes.set(block.blockRoot, BitArray.fromBitLen(PTC_SIZE));
520
558
  } else {
521
559
  // Pre-Gloas: Only create FULL node (payload embedded in block)
522
560
  const node: ProtoNode = {
@@ -636,15 +674,18 @@ export class ProtoArray {
636
674
 
637
675
  /**
638
676
  * Update PTC votes for multiple validators attesting to a block
639
- * Spec: gloas/fork-choice.md#new-on_payload_attestation_message
640
- *
641
- * @param blockRoot - The beacon block root being attested
642
- * @param ptcIndices - Array of PTC committee indices that voted (0..PTC_SIZE-1)
643
- * @param payloadPresent - Whether the validators attest the payload is present
677
+ * Spec: gloas/fork-choice.md#new-notify_ptc_messages
644
678
  */
645
- notifyPtcMessages(blockRoot: RootHex, ptcIndices: number[], payloadPresent: boolean): void {
679
+ notifyPtcMessages(
680
+ blockRoot: RootHex,
681
+ ptcIndices: number[],
682
+ payloadPresent: boolean,
683
+ blobDataAvailable: boolean
684
+ ): void {
646
685
  const votes = this.ptcVotes.get(blockRoot);
647
- if (votes === undefined) {
686
+ const attended = this.ptcAttested.get(blockRoot);
687
+ const daVotes = this.daVotes.get(blockRoot);
688
+ if (votes === undefined || attended === undefined || daVotes === undefined) {
648
689
  // Block not found or not a Gloas block, ignore
649
690
  return;
650
691
  }
@@ -653,8 +694,9 @@ export class ProtoArray {
653
694
  if (ptcIndex < 0 || ptcIndex >= PTC_SIZE) {
654
695
  throw new Error(`Invalid PTC index: ${ptcIndex}, must be 0..${PTC_SIZE - 1}`);
655
696
  }
656
-
657
697
  votes.set(ptcIndex, payloadPresent);
698
+ daVotes.set(ptcIndex, blobDataAvailable);
699
+ attended.set(ptcIndex, true);
658
700
  }
659
701
  }
660
702
 
@@ -669,31 +711,61 @@ export class ProtoArray {
669
711
  }
670
712
 
671
713
  /**
672
- * Check if execution payload for a block is timely
673
- * Spec: gloas/fork-choice.md#new-is_payload_timely
674
- *
675
- * Returns true if:
676
- * 1. Block has PTC votes tracked
677
- * 2. Payload is locally available (FULL variant exists in proto array)
678
- * 3. More than PAYLOAD_TIMELY_THRESHOLD (>50% of PTC) members voted payload_present=true
679
- *
680
- * @param blockRoot - The beacon block root to check
714
+ * Spec: payload_timeliness(store, root, timely=True)
681
715
  */
682
716
  isPayloadTimely(blockRoot: RootHex): boolean {
683
717
  const votes = this.ptcVotes.get(blockRoot);
684
- if (votes === undefined) {
685
- // Block not found or not a Gloas block
686
- return false;
687
- }
718
+ if (votes === undefined) return false;
719
+ if (!this.hasPayload(blockRoot)) return false;
720
+ return bitCount(votes.uint8Array) > PAYLOAD_TIMELY_THRESHOLD;
721
+ }
688
722
 
689
- // If payload is not locally available, it's not timely
690
- if (!this.hasPayload(blockRoot)) {
691
- return false;
692
- }
723
+ /**
724
+ * Spec: payload_timeliness(store, root, timely=False)
725
+ */
726
+ isPayloadNotTimely(blockRoot: RootHex): boolean {
727
+ const votes = this.ptcVotes.get(blockRoot);
728
+ const attended = this.ptcAttested.get(blockRoot);
729
+ if (votes === undefined || attended === undefined) return false;
730
+ // Spec: not verified locally → returns `not False = True`
731
+ if (!this.hasPayload(blockRoot)) return true;
732
+ return countNoVotes(attended, votes) > PAYLOAD_TIMELY_THRESHOLD;
733
+ }
734
+
735
+ /**
736
+ * Spec: payload_data_availability(store, root, available=True)
737
+ */
738
+ isPayloadDataAvailable(blockRoot: RootHex): boolean {
739
+ const daVotes = this.daVotes.get(blockRoot);
740
+ if (daVotes === undefined) return false;
741
+ if (!this.hasPayload(blockRoot)) return false;
742
+ return bitCount(daVotes.uint8Array) > DATA_AVAILABILITY_TIMELY_THRESHOLD;
743
+ }
693
744
 
694
- // Count votes for payload_present=true
695
- const yesVotes = bitCount(votes.uint8Array);
696
- return yesVotes > PAYLOAD_TIMELY_THRESHOLD;
745
+ /**
746
+ * Spec: payload_data_availability(store, root, available=False)
747
+ */
748
+ isPayloadDataNotAvailable(blockRoot: RootHex): boolean {
749
+ const daVotes = this.daVotes.get(blockRoot);
750
+ const attended = this.ptcAttested.get(blockRoot);
751
+ if (daVotes === undefined || attended === undefined) return false;
752
+ // Spec: not verified locally → returns `not False = True`
753
+ if (!this.hasPayload(blockRoot)) return true;
754
+ return countNoVotes(attended, daVotes) > DATA_AVAILABILITY_TIMELY_THRESHOLD;
755
+ }
756
+
757
+ /**
758
+ * Spec: should_build_on_full(store, head)
759
+ *
760
+ * The proposer is forced to build on the EMPTY variant (effectively reorging)
761
+ * when the PTC majority voted that the blob data is not available.
762
+ */
763
+ shouldBuildOnFull(head: ProtoBlock): boolean {
764
+ if (head.payloadStatus === PayloadStatus.PENDING) {
765
+ throw new Error("shouldBuildOnFull called with PENDING head");
766
+ }
767
+ if (head.payloadStatus === PayloadStatus.EMPTY) return false;
768
+ return !this.isPayloadDataNotAvailable(head.blockRoot);
697
769
  }
698
770
 
699
771
  /**
@@ -1134,6 +1206,8 @@ export class ProtoArray {
1134
1206
  // Prune PTC votes for this block to prevent memory leak
1135
1207
  // Spec: gloas/fork-choice.md (implicit - finalized blocks don't need PTC votes)
1136
1208
  this.ptcVotes.delete(root);
1209
+ this.ptcAttested.delete(root);
1210
+ this.daVotes.delete(root);
1137
1211
  }
1138
1212
 
1139
1213
  // Store nodes prior to finalization