@lodestar/beacon-node 1.50.0-dev.f2d839a25c → 1.50.0-dev.fd4f342a40

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.
Files changed (124) hide show
  1. package/lib/api/impl/beacon/pool/index.js +4 -4
  2. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  3. package/lib/chain/archiveStore/archiveStore.d.ts +1 -0
  4. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  5. package/lib/chain/archiveStore/archiveStore.js +6 -2
  6. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  7. package/lib/chain/archiveStore/utils/pruneHistory.d.ts +4 -1
  8. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
  9. package/lib/chain/archiveStore/utils/pruneHistory.js +4 -3
  10. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  11. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  12. package/lib/chain/blocks/importBlock.js +4 -0
  13. package/lib/chain/blocks/importBlock.js.map +1 -1
  14. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +2 -1
  15. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  16. package/lib/chain/chain.js +3 -3
  17. package/lib/chain/chain.js.map +1 -1
  18. package/lib/chain/errors/gossipValidation.d.ts +3 -1
  19. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  20. package/lib/chain/errors/gossipValidation.js +2 -0
  21. package/lib/chain/errors/gossipValidation.js.map +1 -1
  22. package/lib/chain/initState.d.ts +2 -9
  23. package/lib/chain/initState.d.ts.map +1 -1
  24. package/lib/chain/initState.js +5 -38
  25. package/lib/chain/initState.js.map +1 -1
  26. package/lib/chain/opPools/opPool.d.ts +5 -4
  27. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  28. package/lib/chain/opPools/opPool.js +62 -18
  29. package/lib/chain/opPools/opPool.js.map +1 -1
  30. package/lib/chain/opPools/utils.d.ts +4 -1
  31. package/lib/chain/opPools/utils.d.ts.map +1 -1
  32. package/lib/chain/opPools/utils.js +11 -1
  33. package/lib/chain/opPools/utils.js.map +1 -1
  34. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  35. package/lib/chain/prepareNextSlot.js +5 -2
  36. package/lib/chain/prepareNextSlot.js.map +1 -1
  37. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -1
  38. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  39. package/lib/chain/produceBlock/produceBlockBody.js +6 -2
  40. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  41. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +6 -0
  42. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  43. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +10 -0
  44. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  45. package/lib/chain/validation/attesterSlashing.d.ts +4 -4
  46. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  47. package/lib/chain/validation/attesterSlashing.js +3 -0
  48. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  49. package/lib/chain/validation/proposerSlashing.d.ts +3 -3
  50. package/lib/chain/validation/proposerSlashing.d.ts.map +1 -1
  51. package/lib/chain/validation/proposerSlashing.js +3 -0
  52. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  53. package/lib/db/beacon.d.ts.map +1 -1
  54. package/lib/db/beacon.js +2 -0
  55. package/lib/db/beacon.js.map +1 -1
  56. package/lib/db/repositories/proposerSlashing.d.ts +1 -0
  57. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  58. package/lib/db/repositories/proposerSlashing.js +5 -1
  59. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  60. package/lib/index.d.ts +1 -1
  61. package/lib/index.d.ts.map +1 -1
  62. package/lib/index.js +1 -1
  63. package/lib/index.js.map +1 -1
  64. package/lib/network/metadata.d.ts +1 -1
  65. package/lib/network/metadata.d.ts.map +1 -1
  66. package/lib/network/metadata.js +17 -17
  67. package/lib/network/metadata.js.map +1 -1
  68. package/lib/network/peers/datastore.d.ts +9 -9
  69. package/lib/network/peers/datastore.d.ts.map +1 -1
  70. package/lib/network/peers/datastore.js +36 -36
  71. package/lib/network/peers/datastore.js.map +1 -1
  72. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  73. package/lib/network/processor/gossipHandlers.js +7 -4
  74. package/lib/network/processor/gossipHandlers.js.map +1 -1
  75. package/lib/network/processor/gossipValidatorFn.d.ts +7 -3
  76. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  77. package/lib/network/processor/gossipValidatorFn.js +7 -3
  78. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  79. package/lib/network/processor/index.d.ts +9 -0
  80. package/lib/network/processor/index.d.ts.map +1 -1
  81. package/lib/network/processor/index.js +77 -10
  82. package/lib/network/processor/index.js.map +1 -1
  83. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
  84. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +41 -26
  85. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
  86. package/lib/sync/range/range.d.ts.map +1 -1
  87. package/lib/sync/range/range.js +50 -18
  88. package/lib/sync/range/range.js.map +1 -1
  89. package/lib/sync/unknownBlock.d.ts +9 -5
  90. package/lib/sync/unknownBlock.d.ts.map +1 -1
  91. package/lib/sync/unknownBlock.js +88 -46
  92. package/lib/sync/unknownBlock.js.map +1 -1
  93. package/lib/util/execution.d.ts +2 -0
  94. package/lib/util/execution.d.ts.map +1 -1
  95. package/lib/util/execution.js +1 -1
  96. package/lib/util/execution.js.map +1 -1
  97. package/package.json +15 -15
  98. package/src/api/impl/beacon/pool/index.ts +4 -4
  99. package/src/chain/archiveStore/archiveStore.ts +9 -3
  100. package/src/chain/archiveStore/utils/pruneHistory.ts +6 -4
  101. package/src/chain/blocks/importBlock.ts +4 -0
  102. package/src/chain/blocks/payloadEnvelopeInput/types.ts +2 -1
  103. package/src/chain/chain.ts +3 -3
  104. package/src/chain/errors/gossipValidation.ts +2 -0
  105. package/src/chain/initState.ts +8 -60
  106. package/src/chain/opPools/opPool.ts +91 -18
  107. package/src/chain/opPools/utils.ts +31 -3
  108. package/src/chain/prepareNextSlot.ts +6 -3
  109. package/src/chain/produceBlock/produceBlockBody.ts +8 -1
  110. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +11 -0
  111. package/src/chain/validation/attesterSlashing.ts +7 -4
  112. package/src/chain/validation/proposerSlashing.ts +7 -4
  113. package/src/db/beacon.ts +2 -0
  114. package/src/db/repositories/proposerSlashing.ts +6 -1
  115. package/src/index.ts +1 -1
  116. package/src/network/metadata.ts +17 -17
  117. package/src/network/peers/datastore.ts +36 -36
  118. package/src/network/processor/gossipHandlers.ts +7 -4
  119. package/src/network/processor/gossipValidatorFn.ts +13 -3
  120. package/src/network/processor/index.ts +89 -10
  121. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +42 -28
  122. package/src/sync/range/range.ts +50 -18
  123. package/src/sync/unknownBlock.ts +99 -50
  124. package/src/util/execution.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { MAX_PEERS_PER_ROOT } from "./constants.js";
14
14
  import { createExtractBlockSlotRootFns } from "./extractSlotRootFns.js";
15
15
  import { getGossipHandlers } from "./gossipHandlers.js";
16
16
  import { createGossipQueues } from "./gossipQueues/index.js";
17
- import { getGossipValidatorBatchFn, getGossipValidatorFn } from "./gossipValidatorFn.js";
17
+ import { getGossipValidatorBatchFn, getGossipValidatorFn, rejectPeerAction, } from "./gossipValidatorFn.js";
18
18
  export * from "./types.js";
19
19
  /**
20
20
  * Keep up to 3 slot of unknown roots, so we don't always emit to UnknownBlock sync.
@@ -49,6 +49,11 @@ export const MAX_AWAITING_MESSAGES_PER_ROOT = {
49
49
  * This is mainly for DOS protection, see https://github.com/ChainSafe/lodestar/issues/5393
50
50
  */
51
51
  const DEFAULT_EARLIEST_PERMISSIBLE_SLOT_DISTANCE = 32;
52
+ /**
53
+ * The network worker bans a Fatal peer only on its next PeerManager heartbeat (30s). Until then the main thread
54
+ * would keep validating that peer's messages, so drop them here. 3 slots (36s) outlasts one heartbeat.
55
+ */
56
+ export const FATAL_PEER_EXPIRY_SLOTS = 3;
52
57
  /**
53
58
  * True if we want to process gossip object immediately, false if we check for bls and regen
54
59
  * in order to process the gossip object.
@@ -158,6 +163,7 @@ var SearchTarget;
158
163
  export class NetworkProcessor {
159
164
  opts;
160
165
  chain;
166
+ core;
161
167
  events;
162
168
  logger;
163
169
  metrics;
@@ -177,18 +183,21 @@ export class NetworkProcessor {
177
183
  awaitingPayloadMessageCount = 0;
178
184
  searchedRootsBySlot = new MapDef(() => new MapDef(() => ({})));
179
185
  bufferedRootsBySlot = new MapDef(() => new Set());
186
+ /** peer -> clock slot when it was Fatal'ed */
187
+ fatalPeers = new Map();
180
188
  constructor(modules, opts) {
181
189
  this.opts = opts;
182
- const { chain, events, logger, metrics } = modules;
190
+ const { chain, core, events, logger, metrics } = modules;
183
191
  this.chain = chain;
192
+ this.core = core;
184
193
  this.events = events;
185
194
  this.metrics = metrics;
186
195
  this.logger = logger;
187
196
  this.events = events;
188
197
  this.gossipQueues = createGossipQueues();
189
198
  this.gossipTopicConcurrency = mapValues(this.gossipQueues, () => 0);
190
- this.gossipValidatorFn = getGossipValidatorFn(modules.gossipHandlers ?? getGossipHandlers(modules, opts), modules);
191
- this.gossipValidatorBatchFn = getGossipValidatorBatchFn(modules.gossipHandlers ?? getGossipHandlers(modules, opts), modules);
199
+ this.gossipValidatorFn = getGossipValidatorFn(modules.gossipHandlers ?? getGossipHandlers(modules, opts), modules, this.onFatalPeer);
200
+ this.gossipValidatorBatchFn = getGossipValidatorBatchFn(modules.gossipHandlers ?? getGossipHandlers(modules, opts), modules, this.onFatalPeer);
192
201
  events.on(NetworkEvent.pendingGossipsubMessage, this.onPendingGossipsubMessage);
193
202
  this.chain.emitter.on(routes.events.EventType.block, this.onBlockProcessed);
194
203
  this.chain.emitter.on(routes.events.EventType.executionPayload, this.onPayloadEnvelopeProcessed);
@@ -299,18 +308,44 @@ export class NetworkProcessor {
299
308
  }
300
309
  }
301
310
  }
311
+ onFatalPeer = (peer) => {
312
+ this.fatalPeers.set(peer, this.chain.clock.currentSlot);
313
+ };
302
314
  onPendingGossipsubMessage = (message) => {
303
315
  const topicType = message.topic.type;
316
+ if (this.fatalPeers.has(message.propagationSource)) {
317
+ this.metrics?.networkProcessor.gossipValidationError.inc({ topic: topicType, error: GossipErrorCode.FATAL_PEER });
318
+ // No need to report the dropped job to gossip. It will be eventually pruned from the mcache
319
+ return;
320
+ }
304
321
  const extractBlockSlotRootFn = this.extractBlockSlotRootFns[topicType];
322
+ if (extractBlockSlotRootFn === undefined) {
323
+ // some messages don't have slot and root
324
+ this.pushPendingGossipsubMessageToQueue(message);
325
+ return;
326
+ }
305
327
  // 1st extract round: make sure slot is in range and if block root is not available
306
328
  // proactively search for it + queue the message
307
- const slotRoot = extractBlockSlotRootFn
308
- ? extractBlockSlotRootFn(message.msg.data, message.topic.boundary.fork)
309
- : null;
329
+ const slotRoot = extractBlockSlotRootFn(message.msg.data, message.topic.boundary.fork);
310
330
  if (slotRoot === null) {
311
- // some messages don't have slot and root
312
- // if the msg.data is invalid, message will be rejected when deserializing data in later phase (gossipValidatorFn)
313
- this.pushPendingGossipsubMessageToQueue(message);
331
+ // DOS protection: null means malformed bytes or slot >= 2^32, neither is forwarded by honest peers.
332
+ const { propagationSource, clientAgent, clientVersion } = message;
333
+ const code = GossipErrorCode.INVALID_SLOT;
334
+ const peerAction = rejectPeerAction(topicType, code);
335
+ this.metrics?.networkProcessor.gossipValidationReject.inc({ topic: topicType });
336
+ this.core.reportPeer(propagationSource, peerAction, code);
337
+ this.logger.debug(`Gossip validation ${topicType} rejected due to null slot`, {
338
+ peer: propagationSource,
339
+ clientAgent,
340
+ clientVersion,
341
+ peerAction,
342
+ code,
343
+ });
344
+ this.events.emit(NetworkEvent.gossipMessageValidationResult, {
345
+ msgId: message.msgId,
346
+ propagationSource,
347
+ acceptance: TopicValidatorResult.Reject,
348
+ });
314
349
  return;
315
350
  }
316
351
  // common check for all topics
@@ -723,6 +758,10 @@ export class NetworkProcessor {
723
758
  if (slot <= minSlot)
724
759
  this.bufferedRootsBySlot.delete(slot);
725
760
  }
761
+ for (const [peer, slot] of this.fatalPeers) {
762
+ if (clockSlot - slot > FATAL_PEER_EXPIRY_SLOTS)
763
+ this.fatalPeers.delete(peer);
764
+ }
726
765
  };
727
766
  executeWork() {
728
767
  // TODO: Maybe de-bounce by timing the last time executeWork was run
@@ -765,6 +804,34 @@ export class NetworkProcessor {
765
804
  }
766
805
  }
767
806
  async processPendingGossipsubMessage(messageOrArray) {
807
+ // drop messages from peers Fatal'ed after these were queued or started awaiting a block/envelope
808
+ // No need to report the dropped jobs to gossip. They will be eventually pruned from the mcache
809
+ if (this.fatalPeers.size > 0) {
810
+ if (Array.isArray(messageOrArray)) {
811
+ const allowed = [];
812
+ for (const msg of messageOrArray) {
813
+ if (this.fatalPeers.has(msg.propagationSource)) {
814
+ this.metrics?.networkProcessor.gossipValidationError.inc({
815
+ topic: msg.topic.type,
816
+ error: GossipErrorCode.FATAL_PEER,
817
+ });
818
+ }
819
+ else {
820
+ allowed.push(msg);
821
+ }
822
+ }
823
+ if (allowed.length === 0)
824
+ return;
825
+ messageOrArray = allowed;
826
+ }
827
+ else if (this.fatalPeers.has(messageOrArray.propagationSource)) {
828
+ this.metrics?.networkProcessor.gossipValidationError.inc({
829
+ topic: messageOrArray.topic.type,
830
+ error: GossipErrorCode.FATAL_PEER,
831
+ });
832
+ return;
833
+ }
834
+ }
768
835
  const nowSec = Date.now() / 1000;
769
836
  if (Array.isArray(messageOrArray)) {
770
837
  for (const msg of messageOrArray) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAS,MAAM,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAC,MAAM,wCAAwC,CAAC;AAIvE,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EACL,wDAAwD,EACxD,iDAAiD,EACjD,2CAA2C,EAC3C,sDAAsD,EACtD,yDAAyD,EACzD,yDAAyD,EACzD,4CAA4C,EAC5C,wDAAwD,GACzD,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,YAAY,EAAkB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAGL,UAAU,GAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,6BAA6B,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAyC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAEL,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAiB3B;;GAEG;AACH,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAwC;IACjF,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,iBAAiB;IACvD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACjC,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;CACtC,CAAC;AAYF;;;;;GAKG;AACH,MAAM,0CAA0C,GAAG,EAAE,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAMzC;;;GAGG;AACH,MAAM,yBAAyB,GAAiC;IAC9D,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;IAC9C,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;IACnD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;IAC9C,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;IACrD,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,EAAE;IAC3C,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAE;IAC/B,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,EAAE;IACxC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,EAAE;IACnC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE;IAClC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE;IAClC,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE,EAAE;IACtD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAE;IAC/B,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,EAAE;IAC7C,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,EAAE;IAC/C,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,EAAE;IAC5C,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,EAAE;IACtC,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,EAAE;CACtC,CAAC;AACF,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAA+C,CAAC;AAEpH,0CAA0C;AAC1C,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,gEAAgE;AAChE,MAAM,uCAAuC,GAAG,MAAM,CAAC;AACvD,iDAAiD;AACjD,MAAM,yCAAyC,GAAG,IAAI,CAAC;AAEvD,qEAAqE;AACrE,kFAAkF;AAClF,kDAAkD;AAClD,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAElD,yEAAyE;AACzE,MAAM,sCAAsC,GAAG,EAAE,CAAC;AAElD;;GAEG;AACH,MAAM,CAAN,IAAY,qBAiBX;AAjBD,WAAY,qBAAqB;IAC/B;;OAEG;IACH,wDAA+B,CAAA;IAC/B;;OAEG;IACH,kEAAyC,CAAA;IACzC;;OAEG;IACH,oEAA2C,CAAA;IAC3C;;OAEG;IACH,4CAAmB,CAAA;AACrB,CAAC,EAjBW,qBAAqB,KAArB,qBAAqB,QAiBhC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBASX;AATD,WAAY,sBAAsB;IAChC;;OAEG;IACH,0CAAgB,CAAA;IAChB;;OAEG;IACH,8CAAoB,CAAA;AACtB,CAAC,EATW,sBAAsB,KAAtB,sBAAsB,QASjC;AAED;;GAEG;AACH,IAAK,gBAIJ;AAJD,WAAK,gBAAgB;IACnB,mEAAU,CAAA;IACV,yEAAa,CAAA;IACb,qEAAW,CAAA;AACb,CAAC,EAJI,gBAAgB,KAAhB,gBAAgB,QAIpB;AAOD,IAAK,YAGJ;AAHD,WAAK,YAAY;IACf,iDAAK,CAAA;IACL,qEAAe,CAAA;AACjB,CAAC,EAHI,YAAY,KAAZ,YAAY,QAGhB;AAUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,gBAAgB;IAgCR,IAAI;IA/BN,KAAK,CAAe;IACpB,IAAI,CAAe;IACnB,MAAM,CAAkB;IACxB,MAAM,CAAS;IACf,OAAO,CAAiB;IACxB,iBAAiB,CAAoB;IACrC,sBAAsB,CAAyB;IAC/C,YAAY,CAAwC;IACpD,sBAAsB,CAA8B;IACpD,uBAAuB,GAAG,6BAA6B,EAAE,CAAC;IAC3E,8IAA8I;IAC9I,uGAAuG;IACvG,0FAA0F;IACzE,2BAA2B,CAAoE;IACxG,yBAAyB,GAAG,CAAC,CAAC;IACtC,qGAAqG;IACrG,6GAA6G;IAC5F,kCAAkC,CAGjD;IACM,2BAA2B,GAAG,CAAC,CAAC;IAChC,mBAAmB,GAAG,IAAI,MAAM,CACtC,GAAG,EAAE,CAAC,IAAI,MAAM,CAA6B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACzD,CAAC;IACM,mBAAmB,GAAG,IAAI,MAAM,CAAqB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9E,8CAA8C;IAC7B,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEzD,YACE,OAAgC,EACf,IAA0B;oBAA1B,IAAI;QAErB,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAC3C,OAAO,CAAC,cAAc,IAAI,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,EAC1D,OAAO,EACP,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,yBAAyB,CACrD,OAAO,CAAC,cAAc,IAAI,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,EAC1D,OAAO,EACP,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,2BAA2B,GAAG,IAAI,MAAM,CAC3C,GAAG,EAAE,CAAC,IAAI,MAAM,CAA2C,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAC5E,CAAC;QACF,IAAI,CAAC,kCAAkC,GAAG,IAAI,MAAM,CAClD,GAAG,EAAE,CAAC,IAAI,MAAM,CAA2C,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAC5E,CAAC;QAEF,wEAAwE;QACxE,uDAAuD;QAEvD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACnD,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;oBAC3C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;oBACrF,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7F,CAAC;gBACD,OAAO,CAAC,2BAA2B,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACrF,OAAO,CAAC,6BAA6B,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACzF,+CAA+C;gBAC/C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC7C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC;oBACxE,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,qCAAqC;QACrC,kDAAkD;QAClD,oDAAoD;IACtD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAClG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,WAAW;QACT,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,KAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC,sBAAsB,KAAK,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAc,EAAE,MAAwB,EAAE,IAAgB;QACtF,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC;QAC1D,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC;QAE1C,wDAAwD;QACxD,IAAI,UAAU,GAAG,CAAC,gBAAgB,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;YAChG,wFAAwF;YACxF,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CACnB,EAAC,IAAI,EAAE,IAAI,EAAc,EACzB,MAAwB,EACxB,IAAgB,EAChB,iBAAiB,GAAG,KAAK;QAEzB,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC;QAC7D,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACxC,KAAK,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC;QAE7C,IAAI,UAAU,GAAG,CAAC,gBAAgB,CAAC,CAAC,wDAAwD;QAC5F,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;YAChG,wFAAwF;YACxF,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,uGAAuG;QACvG,IAAI,iBAAiB,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACpD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,iBAAiB,EAAE,CAAC;gBACtB,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;YACxG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,GAAG,CAAC,IAAe,EAAQ,EAAE;QAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEM,yBAAyB,GAAG,CAAC,OAAgC,EAAQ,EAAE;QAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC,UAAU,EAAC,CAAC,CAAC;YAChH,4FAA4F;YAC5F,OAAO;QACT,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,yCAAyC;YACzC,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,mFAAmF;QACnF,gDAAgD;QAChD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,oGAAoG;YACpG,MAAM,EAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAC,GAAG,OAAO,CAAC;YAChE,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC;YAC1C,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,SAAS,4BAA4B,EAAE;gBAC5E,IAAI,EAAE,iBAAiB;gBACvB,WAAW;gBACX,aAAa;gBACb,UAAU;gBACV,IAAI;aACL,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE;gBAC3D,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,iBAAiB;gBACjB,UAAU,EAAE,oBAAoB,CAAC,MAAM;aACxC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,6DAA6D;QAC7D,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/C,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtC,IAAI,uBAAuB,GAAG,SAAS,GAAG,0CAA0C,CAAC;QACrF,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAClF,qEAAqE;YACrE,uBAAuB,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,IAAI,GAAG,uBAAuB,EAAE,CAAC;YACnC,4FAA4F;YAC5F,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC;gBACvD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,eAAe,CAAC,SAAS;aACjC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,8FAA8F;QAC9F,2GAA2G;QAC3G,MAAM,qBAAqB,GACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7G,IAAI,IAAI,GAAG,qBAAqB,EAAE,CAAC;YACjC,4FAA4F;YAC5F,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC;gBACvD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,eAAe,CAAC,WAAW;aACnC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAEpD,6EAA6E;QAC7E,kGAAkG;QAClG,IAAI,gBAAgB,GAAqB,EAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,EAAC,CAAC;QAChF,qIAAqI;QACrI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,uFAAuF;YACvF,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC,CAAC;YAC3E,0FAA0F;YAC1F,2DAA2D;YAC3D,gBAAgB,GAAG,EAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAC,CAAC;QACjE,CAAC;QAED,6CAA6C;QAC7C,sDAAsD;QAEtD,gGAAgG;QAChG,uGAAuG;QACvG,2GAA2G;QAC3G,IAAI,SAAS,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,4CAA4C,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClF,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,MAAM,GAAmC,IAAI,CAAC;gBAClD,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACnC,yEAAyE;oBACzE,MAAM,eAAe,GAAG,sDAAsD,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjG,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;wBACnG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;wBAC9E,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;4BACxB,MAAM,GAAG,EAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC;wBACxC,CAAC;6BAAM,IACL,UAAU,CAAC,yBAAyB;4BACpC,UAAU,CAAC,yBAAyB,KAAK,eAAe,EACxD,CAAC;4BACD,4HAA4H;4BAC5H,MAAM,GAAG,EAAC,MAAM,EAAE,YAAY,CAAC,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAC,CAAC;wBAC5E,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChE,MAAM,GAAG,EAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,gBAAgB,GAAG,EAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,EAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACnC,gCAAgC;YAChC,sHAAsH;YACtH,qGAAqG;YACrG,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,UAAU,CAAC,kBAAkB,CAAC;gBACnC,KAAK,UAAU,CAAC,0BAA0B,EAAE,CAAC;oBAC3C,IAAI,IAAI,IAAI,IAAI;wBAAE,MAAM;oBACxB,MAAM,QAAQ,GACZ,SAAS,KAAK,UAAU,CAAC,kBAAkB;wBACzC,CAAC,CAAC,2CAA2C,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;wBACrE,CAAC,CAAC,iDAAiD,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC1E,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvE,0EAA0E;wBAC1E,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,MAAM,EAAE;4BAC3C,MAAM,EAAE,YAAY,CAAC,eAAe;4BACpC,iBAAiB,EAAE,KAAK;yBACzB,CAAC,CAAC;wBACH,gBAAgB,GAAG,EAAC,MAAM,EAAE,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAC,CAAC;oBACpE,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,2BAA2B,EAAE,CAAC;oBAC5C,IAAI,IAAI,IAAI,IAAI;wBAAE,MAAM;oBACxB,MAAM,cAAc,GAAG,wDAAwD,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClG,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvE,mFAAmF;wBACnF,6FAA6F;wBAC7F,4CAA4C;wBAC5C,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,SAAS,EAAE;4BAC9C,MAAM,EAAE,YAAY,CAAC,eAAe;4BACpC,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC;wBACH,kGAAkG;wBAClG,yEAAyE;oBAC3E,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC;oBACpC,IAAI,IAAI,IAAI,IAAI;wBAAE,MAAM;oBACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrD,gEAAgE;wBAChE,gEAAgE;wBAChE,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,SAAS,EAAE;4BAC9C,MAAM,EAAE,YAAY,CAAC,eAAe;4BACpC,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC;wBACH,yDAAyD;wBACzD,yEAAyE;oBAC3E,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBAClC,gEAAgE;oBAChE,qCAAqC;oBACrC,MAAM,SAAS,GAAG,wDAAwD,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7F,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;wBACrE,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC,CAAC;wBACtF,oCAAoC;wBACpC,0DAA0D;wBAC1D,gBAAgB,GAAG,EAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;oBAC5E,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,qBAAqB,EAAE,CAAC;oBACtC,sFAAsF;oBACtF,uFAAuF;oBACvF,MAAM,eAAe,GAAG,yDAAyD,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpG,MAAM,eAAe,GAAG,yDAAyD,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpG,IACE,eAAe;wBACf,eAAe;wBACf,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,eAAe,EAAE,eAAe,CAAC,EAChF,CAAC;wBACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;wBACnF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;4BACxB,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC,CAAC;4BAC5F,gBAAgB,GAAG,EAAC,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,EAAC,CAAC;wBAClF,CAAC;6BAAM,IACL,UAAU,CAAC,yBAAyB;4BACpC,UAAU,CAAC,yBAAyB,KAAK,eAAe,EACxD,CAAC;4BACD,IAAI,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,EAAE,MAAM,EAAE;gCAC5D,MAAM,EAAE,YAAY,CAAC,eAAe;gCACpC,iBAAiB,EAAE,KAAK;6BACzB,CAAC,CAAC;4BACH,gBAAgB,GAAG,EAAC,MAAM,EAAE,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAE,eAAe,EAAC,CAAC;wBACrF,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,gBAAgB,CAAC,WAAW;gBAC/B,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,gBAAgB,CAAC,UAAU;gBAC9B,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACtE,MAAM;YACR,KAAK,gBAAgB,CAAC,aAAa;gBACjC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACxE,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;;OAOG;IACK,eAAe,CAAC,IAAa,EAAE,SAAqB,EAAE,IAAU,EAAE,OAAgC;QACxG,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC;QACzD,kDAAkD;QAClD,IAAI,IAAI,CAAC,yBAAyB,GAAG,uCAAuC,EAAE,CAAC;YAC7E,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,qBAAqB,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,4EAA4E;QAC5E,MAAM,UAAU,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAC7D,IACE,UAAU,KAAK,SAAS;YACxB,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,EACrF,CAAC;YACD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,qBAAqB,CAAC,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QAED,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QACtC,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzF,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,6CAA6C;IACrC,iBAAiB,CAAC,IAAa,EAAE,SAAqB,EAAE,IAAU,EAAE,OAAgC;QAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC;QAC3D,IAAI,IAAI,CAAC,2BAA2B,GAAG,yCAAyC,EAAE,CAAC;YACjF,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,qBAAqB,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC;QAC7D,IACE,UAAU,KAAK,SAAS;YACxB,CAAC,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,EAC5F,CAAC;YACD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,qBAAqB,CAAC,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QAED,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QACtC,IAAI,CAAC,kCAAkC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChG,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,IAAU,EAAE,IAAa;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,2BAA2B,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,IAAU,EAAE,IAAa;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,2BAA2B;YAAE,OAAO,KAAK,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,iBAAiB,CACvB,QAAqB,EACrB,MAA6B,EAC7B,MAA+B;QAE/B,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QACpE,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,YAAY,CAAC,KAAK;gBACrB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;gBAC9E,MAAM;YACR,KAAK,YAAY,CAAC,eAAe;gBAC/B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC3G,MAAM;QACV,CAAC;IACH,CAAC;IAEO,kCAAkC,CAAC,OAAgC;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,4FAA4F;YAC5F,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,YAAY,CAAC,CAAC;QACjG,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,gBAAgB,GAAG,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAgD,EAAiB,EAAE;QAClH,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,yBAAyB,IAAI,KAAK,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,mGAAmG;QACnG,8CAA8C;QAC9C,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,oBAAoB,CAAC,GAAG,CAChE,EAAC,KAAK,EAAE,SAAS,EAAC,EAClB,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAClC,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC;gBACjD,KAAK,EAAE,CAAC;gBACR,oHAAoH;gBACpH,IAAI,KAAK,KAAK,oCAAoC,EAAE,CAAC;oBACnD,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEM,0BAA0B,GAAG,KAAK,EAAE,EAAC,SAAS,EAAE,OAAO,EAAuB,EAAiB,EAAE;QACvG,MAAM,eAAe,GAAG,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7E,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,2BAA2B,IAAI,KAAK,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,oBAAoB,CAAC,GAAG,CAClE,EAAC,KAAK,EAAE,SAAS,EAAC,EAClB,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAClC,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC;gBACjD,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,oCAAoC,EAAE,CAAC;oBACnD,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEM,WAAW,GAAG,CAAC,SAAe,EAAQ,EAAE;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACjC,MAAM,OAAO,GAAG,SAAS,GAAG,iCAAiC,CAAC;QAE9D,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7D,IAAI,IAAI,GAAG,OAAO;gBAAE,SAAS;YAE7B,qGAAqG;YACrG,uGAAuG;YACvG,mGAAmG;YACnG,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC7C,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;oBAAE,SAAS;gBAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtE,IAAI,eAAe,KAAK,SAAS;oBAAE,SAAS;gBAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;oBAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;wBACrC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC;4BACnD,KAAK,EAAE,SAAS;4BAChB,MAAM,EAAE,qBAAqB,CAAC,OAAO;yBACtC,CAAC,CAAC;wBACH,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,mBAAmB,CAAC,GAAG,CAC/D,EAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAC,EACzD,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAClC,CAAC;wBACF,4FAA4F;oBAC9F,CAAC;oBACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC;gBAC3B,CAAC;gBACD,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrD,IAAI,CAAC,yBAAyB,IAAI,OAAO,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,qGAAqG;YACrG,uGAAuG;YACvG,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC7C,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;oBAAE,SAAS;gBAClD,MAAM,eAAe,GAAG,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC7E,IAAI,eAAe,KAAK,SAAS;oBAAE,SAAS;gBAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;oBAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;wBACrC,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,MAAM,CAAC,GAAG,CAAC;4BACrD,KAAK,EAAE,SAAS;4BAChB,MAAM,EAAE,qBAAqB,CAAC,OAAO;yBACtC,CAAC,CAAC;wBACH,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,mBAAmB,CAAC,GAAG,CACjE,EAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAC,EACzD,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAClC,CAAC;wBACF,4FAA4F;oBAC9F,CAAC;oBACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC;gBAC3B,CAAC;gBACD,IAAI,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,2BAA2B,IAAI,OAAO,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,IAAI,OAAO;gBAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,SAAS,GAAG,IAAI,GAAG,uBAAuB;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC;IAEM,WAAW;QACjB,oEAAoE;QAEpE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACtD,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,QAAQ,EAAE,OAAO,aAAa,GAAG,2BAA2B,EAAE,CAAC;YAC7D,yFAAyF;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAEtC,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;gBAC3C,wDAAwD;gBACxD,2CAA2C;gBAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;oBACtE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;oBAC9D,MAAM,QAAQ,CAAC;gBACjB,CAAC;gBACD,IACE,IAAI,CAAC,IAAI,CAAC,yBAAyB,KAAK,SAAS;oBACjD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,EACxE,CAAC;oBACD,8DAA8D;oBAC9D,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;oBAClD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC;yBACtC,OAAO,CAAC,GAAG,EAAE;wBACZ,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;oBACpD,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBAEtF,aAAa,IAAI,WAAW,CAAC;oBAC7B,yGAAyG;oBACzG,SAAS,QAAQ,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,MAAM;QACR,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,cAAmE;QAEnE,iGAAiG;QACjG,+FAA+F;QAC/F,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,MAAM,OAAO,GAA8B,EAAE,CAAC;gBAC9C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBAC/C,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC;4BACvD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;4BACrB,KAAK,EAAE,eAAe,CAAC,UAAU;yBAClC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBACjC,cAAc,GAAG,OAAO,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC;oBACvD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;oBAChC,KAAK,EAAE,eAAe,CAAC,UAAU;iBAClC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;gBACjC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC;gBACjC,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACnC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,OAAO,CACnD,EAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAC,EACvB,MAAM,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI,CACjC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,mBAAmB,GAAG,MAAM,CAAC;YAC5C,IAAI,cAAc,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,OAAO,CACnD,EAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAC,EAClC,MAAM,GAAG,cAAc,CAAC,YAAY,GAAG,IAAI,CAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;YACjD,CAAC,CAAC,gFAAgF;gBAChF,qFAAqF;gBACrF,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAqC,CAAC;YAC1E,CAAC,CAAC;gBACE,mBAAmB;gBACnB,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAC,GAAG,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,IAAI,EAAC,CAAC;aAC3F,CAAC;QAEN,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,mGAAmG;QACnG,kHAAkH;QAClH,kCAAkC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE;oBAC3D,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;oBACxC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE;gBAC3D,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;gBACnD,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,OAAgC,EAAE,MAAc,EAAE,UAAgC;QACrG,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACzC,wCAAwC;YACxC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,OAAO,CACrD,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC,EAC3B,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CACvD,CAAC;YACF,+CAA+C;YAC/C,IAAI,UAAU,KAAK,oBAAoB,CAAC,MAAM,EAAE,CAAC;gBAC/C,mEAAmE;gBACnE,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,CACjD,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC,EAC3B,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,CAAC;YAC7C,OAAO,sBAAsB,CAAC,GAAG,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACrC,OAAO,sBAAsB,CAAC,KAAK,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelopesByRoot.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAK9E,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,sCAAsC,EAAC,MAAM,wBAAwB,CAAC;AAG9E,wBAAuB,iCAAiC,CACtD,WAAW,EAAE,sCAAsC,EACnD,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAyDjC"}
1
+ {"version":3,"file":"executionPayloadEnvelopesByRoot.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAK9E,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,sCAAsC,EAAC,MAAM,wBAAwB,CAAC;AAG9E,wBAAuB,iCAAiC,CACtD,WAAW,EAAE,sCAAsC,EACnD,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAsEjC"}
@@ -2,14 +2,20 @@ import { RespStatus, ResponseError } from "@lodestar/reqresp";
2
2
  import { computeEpochAtSlot } from "@lodestar/state-transition";
3
3
  import { toRootHex } from "@lodestar/utils";
4
4
  import { EnvelopeReconstructionError } from "../../../chain/errors/index.js";
5
+ import { MAX_BODIES_PER_REQUEST } from "../../../util/execution.js";
5
6
  import { prettyPrintPeerId } from "../../util.js";
6
7
  export async function* onExecutionPayloadEnvelopesByRoot(requestBody, chain, db, peerId, peerClient) {
7
8
  // The gloas req/resp spec uses MIN_EPOCHS_FOR_BLOCK_REQUESTS to define the minimum range peers MUST serve.
8
9
  // Archival nodes may still serve older retained payloads to allow genesis sync.
9
- // Resolve slots first so archived header envelopes are rebuilt in one EL batch, not one call per root
10
+ // Resolve slots first so archived envelopes can be reconstructed in EL batches.
11
+ // Duplicate roots are served once, since each archived envelope costs an EL fetch and a rebuild.
10
12
  const requests = [];
13
+ const seenRoots = new Set();
11
14
  for (const root of requestBody) {
12
15
  const rootHex = toRootHex(root);
16
+ if (seenRoots.has(rootHex))
17
+ continue;
18
+ seenRoots.add(rootHex);
13
19
  const block = chain.forkChoice.getBlockHexDefaultStatus(rootHex);
14
20
  // If the block is not in fork choice, it may be finalized. Attempt to find its slot in block archive
15
21
  const slot = block ? block.slot : await db.blockArchive.getSlotByRoot(root);
@@ -23,33 +29,42 @@ export async function* onExecutionPayloadEnvelopesByRoot(requestBody, chain, db,
23
29
  }
24
30
  requests.push({ blockSlot: slot, blockRootHex: rootHex });
25
31
  }
26
- let envelopesBytes;
27
- try {
28
- // by-root allows omission, so a mismatched envelope is left out rather than failing the response
29
- envelopesBytes = await chain.getSerializedExecutionPayloadEnvelopes(requests, "omit");
30
- }
31
- catch (e) {
32
- if (e instanceof EnvelopeReconstructionError) {
33
- throw new ResponseError(RespStatus.RESOURCE_UNAVAILABLE, `Failed to reconstruct archived envelopes: ${e.message}`);
32
+ // Yield between EL batches so the first response does not wait for the entire request.
33
+ let yielded = 0;
34
+ for (let i = 0; i < requests.length; i += MAX_BODIES_PER_REQUEST) {
35
+ const batch = requests.slice(i, i + MAX_BODIES_PER_REQUEST);
36
+ let envelopesBytes;
37
+ try {
38
+ // By-root allows omission, so a mismatched envelope is left out rather than failing the response.
39
+ envelopesBytes = await chain.getSerializedExecutionPayloadEnvelopes(batch, "omit");
34
40
  }
35
- throw e;
36
- }
37
- for (let i = 0; i < requests.length; i++) {
38
- const { blockSlot, blockRootHex } = requests[i];
39
- const envelopeBytes = envelopesBytes[i];
40
- if (envelopeBytes) {
41
- yield {
42
- data: envelopeBytes,
43
- boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(blockSlot)),
44
- };
41
+ catch (e) {
42
+ if (e instanceof EnvelopeReconstructionError) {
43
+ // By-root permits partial responses, so an EL failure can end the response here.
44
+ if (yielded > 0)
45
+ return;
46
+ throw new ResponseError(RespStatus.RESOURCE_UNAVAILABLE, `Failed to reconstruct archived envelopes: ${e.message}`);
47
+ }
48
+ throw e;
45
49
  }
46
- else {
47
- chain.logger.debug("Cannot serve ExecutionPayloadEnvelopesByRoot: envelope not found", {
48
- slot: blockSlot,
49
- root: blockRootHex,
50
- peer: prettyPrintPeerId(peerId),
51
- client: peerClient,
52
- });
50
+ for (let j = 0; j < batch.length; j++) {
51
+ const { blockSlot, blockRootHex } = batch[j];
52
+ const envelopeBytes = envelopesBytes[j];
53
+ if (envelopeBytes) {
54
+ yielded++;
55
+ yield {
56
+ data: envelopeBytes,
57
+ boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(blockSlot)),
58
+ };
59
+ }
60
+ else {
61
+ chain.logger.debug("Cannot serve ExecutionPayloadEnvelopesByRoot: envelope not found", {
62
+ slot: blockSlot,
63
+ root: blockRootHex,
64
+ peer: prettyPrintPeerId(peerId),
65
+ client: peerClient,
66
+ });
67
+ }
53
68
  }
54
69
  }
55
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelopesByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAI3E,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,iCAAiC,CACtD,WAAmD,EACnD,KAAmB,EACnB,EAAa,EACb,MAAc,EACd,UAAkB;IAElB,2GAA2G;IAC3G,gFAAgF;IAEhF,sGAAsG;IACtG,MAAM,QAAQ,GAA+C,EAAE,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjE,qGAAqG;QACrG,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE5E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,8FAA8F,EAC9F;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBAC/B,MAAM,EAAE,UAAU;aACnB,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,cAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,iGAAiG;QACjG,cAAc,GAAG,MAAM,KAAK,CAAC,sCAAsC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,2BAA2B,EAAE,CAAC;YAC7C,MAAM,IAAI,aAAa,CACrB,UAAU,CAAC,oBAAoB,EAC/B,6CAA6C,CAAC,CAAC,OAAO,EAAE,CACzD,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAC,SAAS,EAAE,YAAY,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM;gBACJ,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;aAC7E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;gBACrF,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBAC/B,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"executionPayloadEnvelopesByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,iCAAiC,CACtD,WAAmD,EACnD,KAAmB,EACnB,EAAa,EACb,MAAc,EACd,UAAkB;IAElB,2GAA2G;IAC3G,gFAAgF;IAEhF,gFAAgF;IAChF,iGAAiG;IACjG,MAAM,QAAQ,GAA+C,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAW,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QACrC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjE,qGAAqG;QACrG,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE5E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,8FAA8F,EAC9F;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBAC/B,MAAM,EAAE,UAAU;aACnB,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;IAC1D,CAAC;IAED,uFAAuF;IACvF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,sBAAsB,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC;QAC5D,IAAI,cAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,kGAAkG;YAClG,cAAc,GAAG,MAAM,KAAK,CAAC,sCAAsC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,2BAA2B,EAAE,CAAC;gBAC7C,iFAAiF;gBACjF,IAAI,OAAO,GAAG,CAAC;oBAAE,OAAO;gBACxB,MAAM,IAAI,aAAa,CACrB,UAAU,CAAC,oBAAoB,EAC/B,6CAA6C,CAAC,CAAC,OAAO,EAAE,CACzD,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,EAAC,SAAS,EAAE,YAAY,EAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;gBACV,MAAM;oBACJ,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;iBAC7E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;oBACrF,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;oBAC/B,MAAM,EAAE,UAAU;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAQ,MAAM,EAAO,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,MAAM,EAAgC,MAAM,iBAAiB,CAAC;AAKtE,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAQ/C,OAAO,EAAC,WAAW,EAAa,mBAAmB,EAAe,MAAM,YAAY,CAAC;AAGrF,oBAAY,cAAc;IACxB,cAAc,6BAA6B;CAC5C;AAED,KAAK,eAAe,GAAG;IACrB,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7C,CAAC;AAEF,KAAK,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAE1E,oBAAY,eAAe;IACzB,wCAAwC;IACxC,SAAS,IAAA;IACT,4EAA4E;IAC5E,IAAI,IAAA;IACJ,kFAAkF;IAClF,IAAI,IAAA;CACL;AAED,KAAK,cAAc,GACf;IAAC,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,GACxD;IAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAC,GACtD;IAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAA;CAAC,CAAC;AAEnC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;wCA0BuD,gBAAgB;AAxBzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,SAAU,SAAQ,cAA4C;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,OAAO,CAAC,IAAI,CAAC,CAAgB;IAE7B,YAAY,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,aAAa,EAuB1D;IAED,yEAAyE;IACzE,KAAK,IAAI,IAAI,CAIZ;IAED;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAqBxE;IAED;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAIlC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,cAAc,CAe1B;IAED,wCAAwC;IACxC,uBAAuB,IAAI,mBAAmB,EAAE,CAI/C;IAED,yCAAyC;IACzC,OAAO,CAAC,mBAAmB,CAoDzB;IAEF,OAAO,CAAC,eAAe,CAuErB;IAEF,OAAO,CAAC,gBAAgB,CAItB;IAEF,yCAAyC;IACzC,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,wBAAwB,CAE9B;IAEF,yCAAyC;IACzC,OAAO,CAAC,cAAc,CAOpB;IAEF,OAAO,CAAC,oBAAoB;IA+C5B,OAAO,CAAC,MAAM;IAqDd,OAAO,CAAC,aAAa;CAgBtB"}
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import { computeStartSlotAtEpoch, isStatePostGloas } from "@lodestar/state-transition";
3
3
  import { prettyPrintIndices, toRootHex } from "@lodestar/utils";
4
+ import { PayloadError, PayloadErrorCode } from "../../chain/blocks/importExecutionPayload.js";
4
5
  import { AttestationImportOpt } from "../../chain/blocks/index.js";
5
6
  import { assertLinearChainSegment } from "../../chain/blocks/utils/chainSegment.js";
6
7
  import { BlockError } from "../../chain/errors/index.js";
@@ -157,23 +158,51 @@ export class RangeSync extends EventEmitter {
157
158
  // so we can utilize worker threads to verify signatures
158
159
  blsVerifyOnMainThread: false,
159
160
  };
160
- if (this.opts?.disableProcessAsChainSegment) {
161
- // Should only be used for debugging or testing
162
- for (const block of blocks) {
163
- await this.chain.processBlock(block, flags);
164
- const payloadEnvelope = payloadEnvelopes?.get(block.slot);
165
- if (payloadEnvelope?.hasPayloadEnvelope()) {
166
- await this.chain.processExecutionPayload(payloadEnvelope);
161
+ try {
162
+ if (this.opts?.disableProcessAsChainSegment) {
163
+ // Should only be used for debugging or testing
164
+ for (const block of blocks) {
165
+ await this.chain.processBlock(block, flags);
166
+ const payloadEnvelope = payloadEnvelopes?.get(block.slot);
167
+ if (payloadEnvelope?.hasPayloadEnvelope()) {
168
+ await this.chain.processExecutionPayload(payloadEnvelope);
169
+ }
170
+ }
171
+ }
172
+ else {
173
+ const { orphaned, skipped } = await this.chain.processChainSegment(blocks, payloadEnvelopes, flags);
174
+ // We log orphaned payloads to work with different clients
175
+ // in the future, consider applying penalties in certain conditions
176
+ // make sure the payload source was from range sync in that case
177
+ for (const { slot, payloadEnvelopeInput } of orphaned) {
178
+ const { peerIdStr, source } = payloadEnvelopeInput.getPayloadEnvelopeSource();
179
+ let client = "unknown";
180
+ if (peerIdStr !== undefined) {
181
+ try {
182
+ client = this.getConnectedPeerSyncMeta(peerIdStr).client;
183
+ }
184
+ catch {
185
+ // peer disconnected since serving the envelope, keep "unknown"
186
+ }
187
+ }
188
+ this.logger.debug("Orphaned payload envelope in range sync batch", {
189
+ slot,
190
+ root: payloadEnvelopeInput.blockRootHex,
191
+ peer: peerIdStr ?? "unknown",
192
+ source,
193
+ client,
194
+ skipped,
195
+ });
167
196
  }
168
197
  }
169
198
  }
170
- else {
171
- const { orphaned, skipped } = await this.chain.processChainSegment(blocks, payloadEnvelopes, flags);
172
- // We log orphaned payloads to work with different clients
173
- // in the future, consider applying penalties in certain conditions
174
- // make sure the payload source was from range sync in that case
175
- for (const { slot, payloadEnvelopeInput } of orphaned) {
176
- const { peerIdStr, source } = payloadEnvelopeInput.getPayloadEnvelopeSource();
199
+ catch (e) {
200
+ if (e instanceof PayloadError &&
201
+ (e.type.code === PayloadErrorCode.INVALID_SIGNATURE ||
202
+ e.type.code === PayloadErrorCode.ENVELOPE_VERIFICATION_ERROR ||
203
+ e.type.code === PayloadErrorCode.EXECUTION_ENGINE_INVALID)) {
204
+ const { payloadInput } = e;
205
+ const { peerIdStr, source } = payloadInput.getPayloadEnvelopeSource();
177
206
  let client = "unknown";
178
207
  if (peerIdStr !== undefined) {
179
208
  try {
@@ -183,15 +212,18 @@ export class RangeSync extends EventEmitter {
183
212
  // peer disconnected since serving the envelope, keep "unknown"
184
213
  }
185
214
  }
186
- this.logger.debug("Orphaned payload envelope in range sync batch", {
187
- slot,
188
- root: payloadEnvelopeInput.blockRootHex,
215
+ this.logger.debug("Removing invalid payload envelope in range sync batch", {
216
+ slot: payloadInput.slot,
217
+ root: payloadInput.blockRootHex,
189
218
  peer: peerIdStr ?? "unknown",
190
219
  source,
191
220
  client,
192
- skipped,
221
+ code: e.type.code,
193
222
  });
223
+ // The batch is downloaded again, it would otherwise reuse the cached envelope and fail the same way
224
+ this.chain.seenPayloadEnvelopeInputCache.removeInvalid(payloadInput);
194
225
  }
226
+ throw e;
195
227
  }
196
228
  };
197
229
  downloadByRange = async (peer, batch) => {
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAwB,uBAAuB,EAAE,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAE5G,OAAO,EAAS,kBAAkB,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAC,oBAAoB,EAAkB,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAC,wBAAwB,EAAC,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAc,SAAS,EAAoC,MAAM,YAAY,CAAC;AACrF,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,6DAA2C,CAAA;AAC7C,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB;AAQD,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,wCAAwC;IACxC,+DAAS,CAAA;IACT,4EAA4E;IAC5E,qDAAI,CAAA;IACJ,kFAAkF;IAClF,qDAAI,CAAA;AACN,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAmBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,SAAU,SAAS,YAA2C;IACxD,KAAK,CAAe;IACpB,OAAO,CAAW;IAClB,OAAO,CAAiB;IACxB,MAAM,CAAe;IACrB,MAAM,CAAS;IAChC,sEAAsE;IACrD,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEtD,IAAI,CAAiB;IAE7B,YAAY,OAAyB,EAAE,IAAoB;QACzD,KAAK,EAAE,CAAC;QACR,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC9C,oFAAoF;gBACpF,wFAAwF;gBACxF,UAAU;gBACV,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACxC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC7C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC7C,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,KAAK;QACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,MAAiB,EAAE,WAAmB,EAAE,UAAkB;QAChE,kEAAkE;QAClE,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAC,GAAG,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACpC,IAAI,EAAE,MAAM;YACZ,QAAQ;YACR,UAAU;YACV,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,aAAa,EAAE,WAAW,CAAC,QAAQ;YACnC,qBAAqB,EAAG,UAA0B,CAAC,qBAAqB,IAAI,QAAQ;SACrF,CAAC,CAAC;QAEH,qDAAqD;QACrD,oFAAoF;QACpF,IAAI,QAAQ,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAiB;QAC1B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,MAAM,kBAAkB,GAAkB,EAAE,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;oBAC/C,OAAO,EAAC,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC;gBACnE,CAAC;gBACD,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,EAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAC,CAAC;QACrE,CAAC;QACD,OAAO,EAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAC,CAAC;IACxC,CAAC;IAED,wCAAwC;IACxC,uBAAuB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACpC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;aAC7C,OAAO,EAAE,CAAC,CAAC,yBAAyB;IACzC,CAAC;IAED,yCAAyC;IACjC,mBAAmB,GAAwC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE;QAC9G,iCAAiC;QACjC,MAAM,KAAK,GAAoB;YAC7B,+FAA+F;YAC/F,4GAA4G;YAC5G,uFAAuF;YACvF,kBAAkB,EAAE,QAAQ,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAChG,oGAAoG;YACpG,aAAa,EAAE,IAAI;YACnB,0FAA0F;YAC1F,iBAAiB,EAAE,IAAI;YACvB,8FAA8F;YAC9F,aAAa,EAAE,IAAI;YACnB,sFAAsF;YACtF,wDAAwD;YACxD,qBAAqB,EAAE,KAAK;SAC7B,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,EAAE,4BAA4B,EAAE,CAAC;gBAC5C,+CAA+C;gBAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC5C,MAAM,eAAe,GAAG,gBAAgB,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1D,IAAI,eAAe,EAAE,kBAAkB,EAAE,EAAE,CAAC;wBAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAClG,0DAA0D;gBAC1D,mEAAmE;gBACnE,gEAAgE;gBAChE,KAAK,MAAM,EAAC,IAAI,EAAE,oBAAoB,EAAC,IAAI,QAAQ,EAAE,CAAC;oBACpD,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,oBAAoB,CAAC,wBAAwB,EAAE,CAAC;oBAC5E,IAAI,MAAM,GAAG,SAAS,CAAC;oBACvB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,IAAI,CAAC;4BACH,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;wBAC3D,CAAC;wBAAC,MAAM,CAAC;4BACP,+DAA+D;wBACjE,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;wBACjE,IAAI;wBACJ,IAAI,EAAE,oBAAoB,CAAC,YAAY;wBACvC,IAAI,EAAE,SAAS,IAAI,SAAS;wBAC5B,MAAM;wBACN,MAAM;wBACN,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IACE,CAAC,YAAY,YAAY;gBACzB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,iBAAiB;oBACjD,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,2BAA2B;oBAC5D,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,wBAAwB,CAAC,EAC5D,CAAC;gBACD,MAAM,EAAC,YAAY,EAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,YAAY,CAAC,wBAAwB,EAAE,CAAC;gBACpE,IAAI,MAAM,GAAG,SAAS,CAAC;gBACvB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;oBAC3D,CAAC;oBAAC,MAAM,CAAC;wBACP,+DAA+D;oBACjE,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE;oBACzE,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,IAAI,EAAE,YAAY,CAAC,YAAY;oBAC/B,IAAI,EAAE,SAAS,IAAI,SAAS;oBAC5B,MAAM;oBACN,MAAM;oBACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC;gBACH,oGAAoG;gBACpG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC;IAEM,eAAe,GAAoC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/E,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,oBAAoB,EAAE,iBAAiB,IAAI,QAAQ,CAAC,oBAAoB,EAAE,SAAS,CAAC;QAChH,MAAM,wBAAwB,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,MAAM,eAAe,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,WAAW;YACX,wBAAwB;YACxB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO;YAC3C,GAAG,QAAQ;SACZ,CAAC,CAAC;QACH,MAAM,EAAC,SAAS,EAAE,gBAAgB,EAAE,0BAA0B,EAAC,GAAG,MAAM,CAAC;QACzE,MAAM,EAAC,MAAM,EAAE,gBAAgB,EAAC,GAAG,qBAAqB,CAAC;YACvD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB;YACrC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,6BAA6B;YACvE,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,SAAS;YACT,WAAW;YACX,0BAA0B;YAC1B,wBAAwB,EAAE,KAAK,CAAC,mBAAmB,EAAE;YACrD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;SACpC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,gBAAgB;YACpC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;iBAC3C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;iBACrB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,UAAU,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;YAChD,GAAG,KAAK,CAAC,WAAW,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2CAA2C,EAC3C;wBACE,IAAI,EAAE,IAAI,CAAC,MAAM;wBACjB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;wBACrB,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI;wBAClC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;wBAChC,GAAG,KAAK,CAAC,WAAW,EAAE;qBACvB,EACD,GAAG,CACJ,CAAC;oBACF,+DAA+D;oBAC/D,MAAM,IAAI,oBAAoB,CAAC;wBAC7B,IAAI,EAAE,wBAAwB,CAAC,qBAAqB;wBACpD,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI;wBAClC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;qBACtB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,OAAO,EAAC,MAAM,EAAE,EAAC,MAAM,EAAE,gBAAgB,EAAC,EAAE,QAAQ,EAAC,CAAC;IACxD,CAAC,CAAC;IAEM,gBAAgB,GAAqC,CAAC,MAAqB,EAAE,EAAE;QACrF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC;IAEF,yCAAyC;IACjC,UAAU,GAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;QAC5E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC;IAEM,wBAAwB,GAA6C,CAAC,MAAM,EAAE,EAAE;QACtF,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,yCAAyC;IACjC,cAAc,GAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAEzC,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,mCAAmC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC;IAEM,oBAAoB,CAAC,UAAiB,EAAE,MAAmB,EAAE,IAAe,EAAE,QAAuB;QAC3G,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,yFAAyF;YACzF,gFAAgF;YAChF,2GAA2G;YAC3G,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;gBAC3C,CAAC,CAAE,SAAmC,CAAC,yBAAyB;gBAChE,CAAC,CAAC,SAAS,CAAC;YAEd,SAAS,GAAG,IAAI,SAAS,CACvB,UAAU,EACV,MAAM,EACN,QAAQ,EACR;gBACE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gBACvD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,KAAK,EAAE,IAAI,CAAC,cAAc;aAC3B,EACD;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;gBACvC,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,EACD,SAAS,CACV,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAErC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBACnC,QAAQ;gBACR,UAAU,EAAE,SAAS,CAAC,eAAe;gBACrC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;gBACjC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5C,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,mBAA0B;QACvC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QAExE,oEAAoE;QACpE,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,wDAAwD;YACxD;YACE,2DAA2D;YAC3D,SAAS,CAAC,WAAW;gBACrB,gDAAgD;gBAChD,SAAS,CAAC,KAAK,KAAK,CAAC;gBACrB,4DAA4D;gBAC5D,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB;gBAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EACrD,CAAC;gBACD,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAEvB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAC9F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;oBACrC,EAAE,EAAE,SAAS,CAAC,KAAK;oBACnB,kBAAkB;oBAClB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;oBAC9C,UAAU,EAAE,SAAS,CAAC,eAAe;oBACrC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;oBACjC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC5C,eAAe,EAAE,SAAS,CAAC,eAAe;iBAC3C,CAAC,CAAC;gBAEH,yEAAyE;gBACzE,IAAI,CAAC,OAAO;qBACT,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;qBACnC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEzE,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,SAAS,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,SAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAgB;QACpC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAkC;YACtD,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;SACxB,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACnF,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF"}
@@ -156,14 +156,18 @@ export declare class BlockInputSync {
156
156
  * Also verifies the received block root + returns the peer that provided the block for future downscoring.
157
157
  */
158
158
  private fetchBlockInput;
159
+ private removePendingPayloadAndDescendants;
159
160
  /**
160
- * Gets all descendant blocks of `block` recursively from `pendingBlocks`.
161
- * Assumes that if a parent block does not exist or is not processable, all descendant blocks are bad too.
162
- * Downscore all peers that have referenced any of this bad blocks. May report peers multiple times if they have
163
- * referenced more than one bad block.
161
+ * Same as `removeAndBanAllDescendants`, and downscores every peer that referenced or served a banned item, once per
162
+ * peer. Only call for consensus-layer invalidity, never for an INVALID execution payload:
163
+ * https://github.com/ethereum/consensus-specs/blob/master/specs/bellatrix/p2p-interface.md#the-reqresp-domain
164
164
  */
165
165
  private removeAndDownScoreAllDescendants;
166
- private removePendingPayloadAndDescendants;
166
+ /**
167
+ * Removes `block` and all its pending descendants and bans their roots in `knownBadBlocks`. Only call when the chain
168
+ * is provably bad: a banned root is never searched for again. Returns the banned items.
169
+ */
170
+ private removeAndBanAllDescendants;
167
171
  private removeAllDescendants;
168
172
  private getMaxDownloadAttempts;
169
173
  }