@aztec/ethereum 0.0.1-commit.f504929 → 0.0.1-commit.f650c0a5c

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 (83) hide show
  1. package/dest/client.d.ts +10 -2
  2. package/dest/client.d.ts.map +1 -1
  3. package/dest/client.js +13 -7
  4. package/dest/config.d.ts +6 -6
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +5 -9
  7. package/dest/contracts/inbox.d.ts +3 -3
  8. package/dest/contracts/inbox.d.ts.map +1 -1
  9. package/dest/contracts/inbox.js +5 -6
  10. package/dest/contracts/index.d.ts +2 -3
  11. package/dest/contracts/index.d.ts.map +1 -1
  12. package/dest/contracts/index.js +1 -2
  13. package/dest/contracts/multicall.d.ts +51 -2
  14. package/dest/contracts/multicall.d.ts.map +1 -1
  15. package/dest/contracts/multicall.js +85 -0
  16. package/dest/contracts/rollup.d.ts +44 -14
  17. package/dest/contracts/rollup.d.ts.map +1 -1
  18. package/dest/contracts/rollup.js +201 -50
  19. package/dest/contracts/{tally_slashing_proposer.d.ts → slashing_proposer.d.ts} +3 -4
  20. package/dest/contracts/slashing_proposer.d.ts.map +1 -0
  21. package/dest/contracts/{tally_slashing_proposer.js → slashing_proposer.js} +13 -15
  22. package/dest/deploy_aztec_l1_contracts.d.ts +3 -6
  23. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
  24. package/dest/deploy_aztec_l1_contracts.js +2 -4
  25. package/dest/generated/l1-contracts-defaults.d.ts +1 -1
  26. package/dest/generated/l1-contracts-defaults.js +1 -1
  27. package/dest/l1_artifacts.d.ts +8176 -15179
  28. package/dest/l1_artifacts.d.ts.map +1 -1
  29. package/dest/l1_artifacts.js +9 -24
  30. package/dest/l1_contract_addresses.d.ts +1 -5
  31. package/dest/l1_contract_addresses.d.ts.map +1 -1
  32. package/dest/l1_contract_addresses.js +0 -6
  33. package/dest/l1_reader.d.ts +3 -1
  34. package/dest/l1_reader.d.ts.map +1 -1
  35. package/dest/l1_reader.js +6 -1
  36. package/dest/l1_tx_utils/l1_tx_utils.d.ts +3 -1
  37. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
  38. package/dest/l1_tx_utils/l1_tx_utils.js +34 -26
  39. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -1
  40. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  41. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +8 -4
  42. package/dest/publisher_manager.d.ts +21 -7
  43. package/dest/publisher_manager.d.ts.map +1 -1
  44. package/dest/publisher_manager.js +81 -7
  45. package/dest/queries.js +3 -3
  46. package/dest/test/chain_monitor.d.ts +22 -3
  47. package/dest/test/chain_monitor.d.ts.map +1 -1
  48. package/dest/test/chain_monitor.js +33 -2
  49. package/dest/test/eth_cheat_codes.d.ts +6 -4
  50. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  51. package/dest/test/eth_cheat_codes.js +6 -4
  52. package/dest/test/start_anvil.d.ts +15 -1
  53. package/dest/test/start_anvil.d.ts.map +1 -1
  54. package/dest/test/start_anvil.js +17 -2
  55. package/dest/utils.d.ts +1 -1
  56. package/dest/utils.d.ts.map +1 -1
  57. package/dest/utils.js +16 -12
  58. package/package.json +5 -5
  59. package/src/client.ts +10 -2
  60. package/src/config.ts +9 -13
  61. package/src/contracts/inbox.ts +4 -4
  62. package/src/contracts/index.ts +1 -2
  63. package/src/contracts/multicall.ts +65 -1
  64. package/src/contracts/rollup.ts +230 -53
  65. package/src/contracts/{tally_slashing_proposer.ts → slashing_proposer.ts} +14 -16
  66. package/src/deploy_aztec_l1_contracts.ts +1 -5
  67. package/src/generated/l1-contracts-defaults.ts +1 -1
  68. package/src/l1_artifacts.ts +12 -35
  69. package/src/l1_contract_addresses.ts +0 -7
  70. package/src/l1_reader.ts +13 -1
  71. package/src/l1_tx_utils/l1_tx_utils.ts +24 -14
  72. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +8 -4
  73. package/src/publisher_manager.ts +105 -10
  74. package/src/queries.ts +3 -3
  75. package/src/test/chain_monitor.ts +60 -3
  76. package/src/test/eth_cheat_codes.ts +6 -4
  77. package/src/test/start_anvil.ts +33 -2
  78. package/src/utils.ts +17 -14
  79. package/dest/contracts/empire_slashing_proposer.d.ts +0 -69
  80. package/dest/contracts/empire_slashing_proposer.d.ts.map +0 -1
  81. package/dest/contracts/empire_slashing_proposer.js +0 -216
  82. package/dest/contracts/tally_slashing_proposer.d.ts.map +0 -1
  83. package/src/contracts/empire_slashing_proposer.ts +0 -265
@@ -10,10 +10,9 @@ import type { L1ContractAddresses } from '../l1_contract_addresses.js';
10
10
  import type { L1ReaderConfig } from '../l1_reader.js';
11
11
  import type { L1TxRequest, L1TxUtils } from '../l1_tx_utils/index.js';
12
12
  import type { ViemClient } from '../types.js';
13
- import { EmpireSlashingProposerContract } from './empire_slashing_proposer.js';
14
13
  import type { L1EventLog } from './log.js';
15
14
  import { SlasherContract } from './slasher_contract.js';
16
- import { TallySlashingProposerContract } from './tally_slashing_proposer.js';
15
+ import { SlashingProposerContract } from './slashing_proposer.js';
17
16
  export type ViemCommitteeAttestation = {
18
17
  addr: `0x${string}`;
19
18
  signature: ViemSignature;
@@ -22,7 +21,7 @@ export type ViemCommitteeAttestations = {
22
21
  signatureIndices: `0x${string}`;
23
22
  signaturesOrAddresses: `0x${string}`;
24
23
  };
25
- export type L1RollupContractAddresses = Pick<L1ContractAddresses, 'rollupAddress' | 'inboxAddress' | 'outboxAddress' | 'feeJuicePortalAddress' | 'feeJuiceAddress' | 'stakingAssetAddress' | 'rewardDistributorAddress' | 'slashFactoryAddress' | 'gseAddress'>;
24
+ export type L1RollupContractAddresses = Pick<L1ContractAddresses, 'rollupAddress' | 'inboxAddress' | 'outboxAddress' | 'feeJuicePortalAddress' | 'feeJuiceAddress' | 'stakingAssetAddress' | 'rewardDistributorAddress' | 'gseAddress'>;
26
25
  export type EpochProofPublicInputArgs = {
27
26
  previousArchive: `0x${string}`;
28
27
  endArchive: `0x${string}`;
@@ -46,11 +45,6 @@ export type ViemGasFees = {
46
45
  feePerDaGas: bigint;
47
46
  feePerL2Gas: bigint;
48
47
  };
49
- export declare enum SlashingProposerType {
50
- None = 0,
51
- Tally = 1,
52
- Empire = 2
53
- }
54
48
  /**
55
49
  * Status of a validator/attester in the staking system.
56
50
  * Matches the Status enum in StakingLib.sol
@@ -90,6 +84,13 @@ export type L1FeeData = {
90
84
  baseFee: bigint;
91
85
  blobFee: bigint;
92
86
  };
87
+ /** Components of the minimum fee per mana, as returned by the L1 rollup contract. */
88
+ export type ManaMinFeeComponents = {
89
+ sequencerCost: bigint;
90
+ proverCost: bigint;
91
+ congestionCost: bigint;
92
+ congestionMultiplier: bigint;
93
+ };
93
94
  /**
94
95
  * Reward configuration for the rollup
95
96
  */
@@ -154,6 +155,7 @@ export type CheckpointProposedLog = L1EventLog<CheckpointProposedArgs>;
154
155
  export declare class RollupContract {
155
156
  readonly client: ViemClient;
156
157
  private readonly rollup;
158
+ private readonly logger;
157
159
  private static cachedStfStorageSlot;
158
160
  private cachedEscapeHatch?;
159
161
  static get checkBlobStorageSlot(): bigint;
@@ -164,7 +166,7 @@ export declare class RollupContract {
164
166
  getGSE(): Promise<EthAddress>;
165
167
  get address(): `0x${string}`;
166
168
  getContract(): GetContractReturnType<typeof RollupAbi, ViemClient>;
167
- getSlashingProposer(): Promise<EmpireSlashingProposerContract | TallySlashingProposerContract | undefined>;
169
+ getSlashingProposer(): Promise<SlashingProposerContract | undefined>;
168
170
  getL1StartBlock(): Promise<bigint>;
169
171
  getL1GenesisTime(): Promise<bigint>;
170
172
  getProofSubmissionEpochs(): Promise<number>;
@@ -183,6 +185,8 @@ export declare class RollupContract {
183
185
  getManaLimit(): Promise<bigint>;
184
186
  getVersion(): Promise<bigint>;
185
187
  getGenesisArchiveTreeRoot(): Promise<Fr>;
188
+ getVkTreeRoot(): Promise<Fr>;
189
+ getProtocolContractsHash(): Promise<Fr>;
186
190
  /**
187
191
  * Returns rollup constants used for epoch queries.
188
192
  * Return type is `L1RollupConstants` which is defined in stdlib,
@@ -195,6 +199,7 @@ export declare class RollupContract {
195
199
  epochDuration: number;
196
200
  proofSubmissionEpochs: number;
197
201
  targetCommitteeSize: number;
202
+ rollupManaLimit: number;
198
203
  }>;
199
204
  getSlasherAddress(): Promise<EthAddress>;
200
205
  /**
@@ -220,7 +225,9 @@ export declare class RollupContract {
220
225
  getSlashingProposerAddress(): Promise<EthAddress>;
221
226
  getCheckpointReward(): Promise<bigint>;
222
227
  getCheckpointNumber(): Promise<CheckpointNumber>;
223
- getProvenCheckpointNumber(): Promise<CheckpointNumber>;
228
+ getProvenCheckpointNumber(options?: {
229
+ blockNumber?: bigint;
230
+ }): Promise<CheckpointNumber>;
224
231
  getSlotNumber(): Promise<SlotNumber>;
225
232
  getL1FeesAt(timestamp: bigint): Promise<L1FeeData>;
226
233
  getEthPerFeeAsset(): Promise<bigint>;
@@ -270,8 +277,12 @@ export declare class RollupContract {
270
277
  * timestamp of the next L1 block
271
278
  * @throws otherwise
272
279
  */
273
- canProposeAtNextEthBlock(archive: Buffer, account: `0x${string}` | Account, slotDuration: number, opts?: {
280
+ canProposeAt(archive: Buffer, account: `0x${string}` | Account, timestamp: bigint, opts?: {
274
281
  forcePendingCheckpointNumber?: CheckpointNumber;
282
+ forceArchive?: {
283
+ checkpointNumber: CheckpointNumber;
284
+ archive: Fr;
285
+ };
275
286
  }): Promise<{
276
287
  slot: SlotNumber;
277
288
  checkpointNumber: CheckpointNumber;
@@ -283,13 +294,32 @@ export declare class RollupContract {
283
294
  * stored in the same slot. If the argument is undefined, it returns an empty override.
284
295
  */
285
296
  makePendingCheckpointNumberOverride(forcePendingCheckpointNumber: CheckpointNumber | undefined): Promise<StateOverride>;
297
+ /**
298
+ * Returns a state override that sets tempCheckpointLogs[checkpointNumber].feeHeader to the compressed fee header.
299
+ * Used when simulating a propose call where the parent checkpoint hasn't landed on L1 yet (pipelining).
300
+ */
301
+ makeFeeHeaderOverride(checkpointNumber: CheckpointNumber, feeHeader: FeeHeader): Promise<StateOverride>;
302
+ /**
303
+ * Returns a state override that sets archives[checkpointNumber] to the given archive value.
304
+ * Used when simulating a canProposeAtTime call where the local archive differs from L1
305
+ * (e.g. pipelining where the parent checkpoint hasn't landed on L1 yet).
306
+ */
307
+ makeArchiveOverride(checkpointNumber: CheckpointNumber, archive: Fr): StateOverride;
308
+ /** Merges multiple StateOverride arrays, combining stateDiff entries for the same address. */
309
+ static mergeStateOverrides(...overrides: StateOverride[]): StateOverride;
310
+ /** Compresses a FeeHeader into a uint256 matching FeeHeaderLib.compress() in FeeStructs.sol. */
311
+ static compressFeeHeader(feeHeader: FeeHeader): bigint;
312
+ /** Computes the fee header for a child checkpoint given parent fee header and child data.
313
+ * Must stay in sync with Solidity FeeLib.sol (computeNewEthPerFeeAsset, clampedAdd). */
314
+ static computeChildFeeHeader(parentFeeHeader: FeeHeader, childManaUsed: bigint, feeAssetPriceModifier: bigint, manaTarget: bigint): FeeHeader;
286
315
  /** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */
287
316
  buildInvalidateBadAttestationRequest(checkpointNumber: CheckpointNumber, attestationsAndSigners: ViemCommitteeAttestations, committee: EthAddress[], invalidIndex: number): L1TxRequest;
288
317
  /** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */
289
318
  buildInvalidateInsufficientAttestationsRequest(checkpointNumber: CheckpointNumber, attestationsAndSigners: ViemCommitteeAttestations, committee: EthAddress[]): L1TxRequest;
290
319
  /** Calls getHasSubmitted directly. Returns whether the given prover has submitted a proof with the given length for the given epoch. */
291
320
  getHasSubmittedProof(epochNumber: EpochNumber, numberOfCheckpointsInEpoch: number, prover: Hex | EthAddress): Promise<boolean>;
292
- getManaMinFeeAt(timestamp: bigint, inFeeAsset: boolean): Promise<bigint>;
321
+ getManaMinFeeAt(timestamp: bigint, inFeeAsset: boolean, stateOverride?: StateOverride): Promise<bigint>;
322
+ getManaMinFeeComponentsAt(timestamp: bigint, inFeeAsset: boolean): Promise<ManaMinFeeComponents>;
293
323
  getSlotAt(timestamp: bigint): Promise<SlotNumber>;
294
324
  status(checkpointNumber: CheckpointNumber, options?: {
295
325
  blockNumber?: bigint;
@@ -301,7 +331,7 @@ export declare class RollupContract {
301
331
  archiveAt(checkpointNumber: CheckpointNumber): Promise<Fr>;
302
332
  getSequencerRewards(address: Hex | EthAddress): Promise<bigint>;
303
333
  getSpecificProverRewardsForEpoch(epoch: bigint, prover: Hex | EthAddress): Promise<bigint>;
304
- getAttesters(): Promise<EthAddress[]>;
334
+ getAttesters(timestamp?: bigint): Promise<EthAddress[]>;
305
335
  getAttesterView(address: Hex | EthAddress): Promise<AttesterView>;
306
336
  getStatus(address: Hex | EthAddress): Promise<AttesterStatus>;
307
337
  getBlobCommitmentsHash(checkpointNumber: CheckpointNumber): Promise<Buffer32>;
@@ -334,4 +364,4 @@ export declare class RollupContract {
334
364
  /** Fetches CheckpointProposed events within the given block range. */
335
365
  getCheckpointProposedEvents(fromBlock: bigint, toBlock: bigint): Promise<CheckpointProposedLog[]>;
336
366
  }
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3JvbGx1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUkxRCxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxHQUFHLEVBQ1IsS0FBSyxhQUFhLEVBQ2xCLEtBQUssNEJBQTRCLEVBS2xDLE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0UsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc3RSxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFDckMsSUFBSSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDcEIsU0FBUyxFQUFFLGFBQWEsQ0FBQztDQUMxQixDQUFDO0FBRUYsTUFBTSxNQUFNLHlCQUF5QixHQUFHO0lBQ3RDLGdCQUFnQixFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDaEMscUJBQXFCLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztDQUN0QyxDQUFDO0FBRUYsTUFBTSxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FDMUMsbUJBQW1CLEVBQ2pCLGVBQWUsR0FDZixjQUFjLEdBQ2QsZUFBZSxHQUNmLHVCQUF1QixHQUN2QixpQkFBaUIsR0FDakIscUJBQXFCLEdBQ3JCLDBCQUEwQixHQUMxQixxQkFBcUIsR0FDckIsWUFBWSxDQUNmLENBQUM7QUFFRixNQUFNLE1BQU0seUJBQXlCLEdBQUc7SUFDdEMsZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDL0IsVUFBVSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDMUIsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDdkIsUUFBUSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7Q0FDekIsQ0FBQztBQUVGLE1BQU0sTUFBTSxVQUFVLEdBQUc7SUFDdkIsZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDL0IsZ0JBQWdCLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNoQyxTQUFTLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUN6QixNQUFNLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUN0QixPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUN2QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsUUFBUSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDeEIsWUFBWSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDNUIsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUNyQixhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3ZCLENBQUM7QUFFRixNQUFNLE1BQU0sV0FBVyxHQUFHO0lBQ3hCLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsV0FBVyxFQUFFLE1BQU0sQ0FBQztDQUNyQixDQUFDO0FBRUYsb0JBQVksb0JBQW9CO0lBQzlCLElBQUksSUFBSTtJQUNSLEtBQUssSUFBSTtJQUNULE1BQU0sSUFBSTtDQUNYO0FBRUQ7OztHQUdHO0FBQ0gsb0JBQVksY0FBYztJQUN4QixJQUFJLElBQUk7SUFDUixVQUFVLElBQUk7SUFDZCxNQUFNLElBQUk7SUFDVixPQUFPLElBQUk7Q0FDWjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLFNBQVMsR0FBRztJQUN0QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxNQUFNLENBQUM7Q0FDcEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUNyQixtQkFBbUIsRUFBRSxRQUFRLENBQUM7SUFDOUIsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDO0lBQzNCLGFBQWEsRUFBRSxRQUFRLENBQUM7SUFDeEIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixTQUFTLEVBQUUsU0FBUyxDQUFDO0NBQ3RCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxTQUFTLEdBQUc7SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ2pCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0lBQzlCLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLElBQUksR0FBRztJQUNqQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLHFCQUFxQixFQUFFLFVBQVUsQ0FBQztJQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUM7Q0FDakIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixTQUFTLEVBQUU7UUFDVCxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ1YsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUNYLENBQUM7SUFDRixVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsTUFBTSxFQUFFLGNBQWMsQ0FBQztJQUN2QixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNYLE1BQU0sRUFBRSxjQUFjLENBQUM7Q0FDeEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHO0lBQ2pDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDO0lBQ3pDLGFBQWEsRUFBRSxFQUFFLENBQUM7SUFDbEIsdUJBQXVCLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztJQUNuQixxQkFBcUIsRUFBRSxFQUFFLENBQUM7Q0FDM0IsQ0FBQztBQUVGLGtEQUFrRDtBQUNsRCxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkMsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNaLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzlCLG9FQUFvRTtJQUNwRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUM7SUFDM0IscUVBQXFFO0lBQ3JFLGFBQWEsRUFBRSxRQUFRLENBQUM7Q0FDekIsQ0FBQztBQUVGLDhDQUE4QztBQUM5QyxNQUFNLE1BQU0scUJBQXFCLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFdkUscUJBQWEsY0FBYzthQW9DUCxNQUFNLEVBQUUsVUFBVTtJQW5DcEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQXNEO0lBRTdFLE9BQU8sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQWtCO0lBQ3JELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUd4QjtJQUVGLE1BQU0sS0FBSyxvQkFBb0IsSUFBSSxNQUFNLENBTXhDO0lBRUQsTUFBTSxLQUFLLGNBQWMsSUFBSSxHQUFHLENBRS9CO0lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixFQUFFLGdDQUFnQyxrQkFNeEY7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxjQUFjLGtCQUkxQztJQUVELFlBQ2tCLE1BQU0sRUFBRSxVQUFVLEVBQ2xDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxFQU0xQjtJQUVLLE1BQU0sSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRWxDO0lBRUQsSUFBVyxPQUFPLGtCQUVqQjtJQUVELFdBQVcsSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FFakU7SUFFWSxtQkFBbUIsSUFBSSxPQUFPLENBQ3pDLDhCQUE4QixHQUFHLDZCQUE2QixHQUFHLFNBQVMsQ0FDM0UsQ0EwQkE7SUFHRCxlQUFlLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVqQztJQUdELGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFbEM7SUFHSyx3QkFBd0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRWhEO0lBR0ssZ0JBQWdCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV4QztJQUdLLGVBQWUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXZDO0lBR0ssc0JBQXNCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU5QztJQUdELG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFdEM7SUFHRCx5QkFBeUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTNDO0lBR0ssNkJBQTZCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVyRDtJQUdLLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFL0M7SUFHRCxzQkFBc0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXhDO0lBR0ssWUFBWSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFcEM7SUFHRCxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUvQjtJQUdELHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFdkM7SUFHRCwrQkFBK0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRWpEO0lBR0QsWUFBWSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFOUI7SUFHRCxVQUFVLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU1QjtJQUdLLHlCQUF5QixJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFN0M7SUFFRDs7OztPQUlHO0lBRVUsa0JBQWtCLElBQUksT0FBTyxDQUFDO1FBQ3pDLFlBQVksRUFBRSxNQUFNLENBQUM7UUFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQztRQUN0QixZQUFZLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFDdEIscUJBQXFCLEVBQUUsTUFBTSxDQUFDO1FBQzlCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztLQUM3QixDQUFDLENBa0JEO0lBRUssaUJBQWlCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUU3QztJQUVEOztPQUVHO0lBQ0cscUJBQXFCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUVqRDtZQUVhLHNCQUFzQjtJQXVCcEM7Ozs7Ozs7T0FPRztJQUNHLGlCQUFpQixDQUFDLEtBQUssRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVk1RDtJQUVEOztPQUVHO0lBQ0csa0JBQWtCLElBQUksT0FBTyxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsQ0FNL0Q7SUFFSyxRQUFRLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUVwQztJQUVLLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFOUM7SUFFWSwwQkFBMEIsd0JBTXRDO0lBRUQsbUJBQW1CLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVyQztJQUVLLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUVyRDtJQUVLLHlCQUF5QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUUzRDtJQUVLLGFBQWEsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRXpDO0lBRUssV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQU12RDtJQUVELGlCQUFpQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFbkM7SUFFSyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBZ0J6RTtJQUVLLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FFMUQ7SUFFSyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBRTlDO0lBRUssZUFBZSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFNUM7SUFFSyx3QkFBd0IsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBZ0JsRTtJQUVLLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FTOUM7SUFFSyxhQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBUzFEO0lBRUssYUFBYSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FpQjlFO0lBRUQsOERBQThEO0lBQzlELG9CQUFvQiwyQkFZbkI7SUFFSyxPQUFPLElBQUksT0FBTyxDQUFDO1FBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDO1FBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFBO0tBQUUsQ0FBQyxDQU1oRjtJQUVELG1CQUFtQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVyRDtJQUVLLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFM0M7SUFFSyw0QkFBNEIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXBEO0lBRUsscUJBQXFCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUVsRDtJQUVLLHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFbEQ7SUFFSywyQkFBMkIsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBRTFGO0lBRUssa0JBQWtCLElBQUksT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBK0I3RDtJQUVZLGlCQUFpQix3QkFFN0I7SUFFWSwyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFckY7SUFFSyx5QkFBeUIsQ0FDN0IsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixFQUFFLFNBQVMsS0FBSyxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUMsR0FDbEcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBR2Y7SUFFWSxjQUFjLENBQ3pCLElBQUksRUFBRSxTQUFTO1FBQ2IsVUFBVTtRQUNWLHlCQUF5QjtRQUN6QixLQUFLLE1BQU0sRUFBRSxFQUFFO1FBQ2YsYUFBYTtRQUNiLEtBQUssTUFBTSxFQUFFO1FBQ2IsS0FBSyxNQUFNLEVBQUU7UUFDYjtZQUNFLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDbEIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO1NBQzNCO0tBQ0YsRUFDRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsR0FBRyxPQUFPLEdBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FZZjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNVLHdCQUF3QixDQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUNmLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFDaEMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsSUFBSSxHQUFFO1FBQUUsNEJBQTRCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQTtLQUFPLEdBQzdELE9BQU8sQ0FBQztRQUFFLElBQUksRUFBRSxVQUFVLENBQUM7UUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztRQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUMsQ0F5QjdGO0lBRUQ7Ozs7T0FJRztJQUNVLG1DQUFtQyxDQUM5Qyw0QkFBNEIsRUFBRSxnQkFBZ0IsR0FBRyxTQUFTLEdBQ3pELE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FjeEI7SUFFRCxtRkFBbUY7SUFDNUUsb0NBQW9DLENBQ3pDLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxzQkFBc0IsRUFBRSx5QkFBeUIsRUFDakQsU0FBUyxFQUFFLFVBQVUsRUFBRSxFQUN2QixZQUFZLEVBQUUsTUFBTSxHQUNuQixXQUFXLENBZWI7SUFFRCw2RkFBNkY7SUFDdEYsOENBQThDLENBQ25ELGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxzQkFBc0IsRUFBRSx5QkFBeUIsRUFDakQsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUN0QixXQUFXLENBVWI7SUFFRCx3SUFBd0k7SUFDakksb0JBQW9CLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxVQUFVLG9CQUtqSDtJQUVELGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV2RTtJQUVLLFNBQVMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FFdEQ7SUFFSyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFBRSxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQVVsSDtJQUVLLGNBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQUUsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRzVGO0lBRUssT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFM0I7SUFFSyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUUvRDtJQUVELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FLOUQ7SUFFRCxnQ0FBZ0MsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FLekY7SUFFSyxZQUFZLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBVTFDO0lBRUssZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F3QnRFO0lBRUssU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FLbEU7SUFFSyxzQkFBc0IsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBRWxGO0lBRUssNkJBQTZCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV2RDtJQUVLLGVBQWUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRTNDO0lBRUssZUFBZSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FRN0M7SUFFRCxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVM7OztPQVU5QjtJQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNOzs7T0FVNUM7SUFFTSxzQkFBc0IsQ0FDM0IsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsVUFBVSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQTtLQUFFLEtBQUssT0FBTyxHQUNwRiw0QkFBNEIsQ0FjOUI7SUFFTSw2QkFBNkIsQ0FDbEMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUE7S0FBRSxLQUFLLE9BQU8sR0FDbEUsNEJBQTRCLENBYzlCO0lBRVksY0FBYyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLFFBQVEsRUFBRSxVQUFVLENBQUE7S0FBRSxFQUFFLENBQUMsQ0FNakc7SUFFTSxhQUFhLENBQ2xCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFBO0tBQUUsS0FBSyxPQUFPLEdBQ3BFLDRCQUE0QixDQWE5QjtJQUVELHNFQUFzRTtJQUNoRSwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0E4QnRHO0NBQ0YifQ==
367
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3JvbGx1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUkxRCxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxHQUFHLEVBQ1IsS0FBSyxhQUFhLEVBQ2xCLEtBQUssNEJBQTRCLEVBTWxDLE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHOUMsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdsRSxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFDckMsSUFBSSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDcEIsU0FBUyxFQUFFLGFBQWEsQ0FBQztDQUMxQixDQUFDO0FBRUYsTUFBTSxNQUFNLHlCQUF5QixHQUFHO0lBQ3RDLGdCQUFnQixFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDaEMscUJBQXFCLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztDQUN0QyxDQUFDO0FBRUYsTUFBTSxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FDMUMsbUJBQW1CLEVBQ2pCLGVBQWUsR0FDZixjQUFjLEdBQ2QsZUFBZSxHQUNmLHVCQUF1QixHQUN2QixpQkFBaUIsR0FDakIscUJBQXFCLEdBQ3JCLDBCQUEwQixHQUMxQixZQUFZLENBQ2YsQ0FBQztBQUVGLE1BQU0sTUFBTSx5QkFBeUIsR0FBRztJQUN0QyxlQUFlLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUMvQixVQUFVLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUMxQixPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUN2QixRQUFRLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztDQUN6QixDQUFDO0FBRUYsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2QixlQUFlLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUMvQixnQkFBZ0IsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixRQUFRLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUN4QixZQUFZLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUM1QixPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDdkIsQ0FBQztBQUVGLE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFDeEIsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixXQUFXLEVBQUUsTUFBTSxDQUFDO0NBQ3JCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxvQkFBWSxjQUFjO0lBQ3hCLElBQUksSUFBSTtJQUNSLFVBQVUsSUFBSTtJQUNkLE1BQU0sSUFBSTtJQUNWLE9BQU8sSUFBSTtDQUNaO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsVUFBVSxFQUFFLE1BQU0sQ0FBQztDQUNwQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sYUFBYSxHQUFHO0lBQzFCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixVQUFVLEVBQUUsUUFBUSxDQUFDO0lBQ3JCLG1CQUFtQixFQUFFLFFBQVEsQ0FBQztJQUM5QixnQkFBZ0IsRUFBRSxRQUFRLENBQUM7SUFDM0IsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUN4QixVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3ZCLFNBQVMsRUFBRSxTQUFTLENBQUM7Q0FDdEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLFNBQVMsR0FBRztJQUN0QixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLE9BQU8sRUFBRSxNQUFNLENBQUM7Q0FDakIsQ0FBQztBQUVGLHFGQUFxRjtBQUNyRixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0NBQzlCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO0lBQzlCLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLElBQUksR0FBRztJQUNqQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLHFCQUFxQixFQUFFLFVBQVUsQ0FBQztJQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUM7Q0FDakIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixTQUFTLEVBQUU7UUFDVCxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ1YsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUNYLENBQUM7SUFDRixVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsTUFBTSxFQUFFLGNBQWMsQ0FBQztJQUN2QixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNYLE1BQU0sRUFBRSxjQUFjLENBQUM7Q0FDeEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHO0lBQ2pDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDO0lBQ3pDLGFBQWEsRUFBRSxFQUFFLENBQUM7SUFDbEIsdUJBQXVCLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztJQUNuQixxQkFBcUIsRUFBRSxFQUFFLENBQUM7Q0FDM0IsQ0FBQztBQUVGLGtEQUFrRDtBQUNsRCxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkMsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNaLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzlCLG9FQUFvRTtJQUNwRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUM7SUFDM0IscUVBQXFFO0lBQ3JFLGFBQWEsRUFBRSxRQUFRLENBQUM7Q0FDekIsQ0FBQztBQUVGLDhDQUE4QztBQUM5QyxNQUFNLE1BQU0scUJBQXFCLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFdkUscUJBQWEsY0FBYzthQXFDUCxNQUFNLEVBQUUsVUFBVTtJQXBDcEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQXNEO0lBQzdFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFtQztJQUUxRCxPQUFPLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFrQjtJQUNyRCxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FHeEI7SUFFRixNQUFNLEtBQUssb0JBQW9CLElBQUksTUFBTSxDQU14QztJQUVELE1BQU0sS0FBSyxjQUFjLElBQUksR0FBRyxDQUUvQjtJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsRUFBRSxnQ0FBZ0Msa0JBTXhGO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxrQkFJMUM7SUFFRCxZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFNMUI7SUFFSyxNQUFNLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUVsQztJQUVELElBQVcsT0FBTyxrQkFFakI7SUFFRCxXQUFXLElBQUkscUJBQXFCLENBQUMsT0FBTyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBRWpFO0lBRVksbUJBQW1CLElBQUksT0FBTyxDQUFDLHdCQUF3QixHQUFHLFNBQVMsQ0FBQyxDQVloRjtJQUdELGVBQWUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRWpDO0lBR0QsZ0JBQWdCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVsQztJQUdLLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFaEQ7SUFHSyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXhDO0lBR0ssZUFBZSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFdkM7SUFHSyxzQkFBc0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTlDO0lBR0Qsb0JBQW9CLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV0QztJQUdELHlCQUF5QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFM0M7SUFHSyw2QkFBNkIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXJEO0lBR0ssdUJBQXVCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUvQztJQUdELHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFeEM7SUFHSyxZQUFZLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVwQztJQUdELGFBQWEsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRS9CO0lBR0QscUJBQXFCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV2QztJQUdELCtCQUErQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFakQ7SUFHRCxZQUFZLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU5QjtJQUdELFVBQVUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTVCO0lBR0sseUJBQXlCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUU3QztJQUdLLGFBQWEsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBSWpDO0lBR0ssd0JBQXdCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUk1QztJQUVEOzs7O09BSUc7SUFFVSxrQkFBa0IsSUFBSSxPQUFPLENBQUM7UUFDekMsWUFBWSxFQUFFLE1BQU0sQ0FBQztRQUNyQixhQUFhLEVBQUUsTUFBTSxDQUFDO1FBQ3RCLFlBQVksRUFBRSxNQUFNLENBQUM7UUFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQztRQUN0QixxQkFBcUIsRUFBRSxNQUFNLENBQUM7UUFDOUIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO1FBQzVCLGVBQWUsRUFBRSxNQUFNLENBQUM7S0FDekIsQ0FBQyxDQTJCRDtJQUVLLGlCQUFpQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FFN0M7SUFFRDs7T0FFRztJQUNHLHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FFakQ7WUFFYSxzQkFBc0I7SUF1QnBDOzs7Ozs7O09BT0c7SUFDRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FnQjVEO0lBRUQ7O09BRUc7SUFDRyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQU0vRDtJQUVLLFFBQVEsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRXBDO0lBRUssc0JBQXNCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU5QztJQUVZLDBCQUEwQix3QkFNdEM7SUFFRCxtQkFBbUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXJDO0lBRUssbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRXJEO0lBRUsseUJBQXlCLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFBRSxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUc3RjtJQUVLLGFBQWEsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRXpDO0lBRUssV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQU12RDtJQUVELGlCQUFpQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFbkM7SUFFSyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBZ0J6RTtJQUVLLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FFMUQ7SUFFSyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBRTlDO0lBRUssZUFBZSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFNUM7SUFFSyx3QkFBd0IsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBZ0JsRTtJQUVLLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FTOUM7SUFFSyxhQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBUzFEO0lBRUssYUFBYSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FpQjlFO0lBRUQsOERBQThEO0lBQzlELG9CQUFvQiwyQkFZbkI7SUFFSyxPQUFPLElBQUksT0FBTyxDQUFDO1FBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDO1FBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFBO0tBQUUsQ0FBQyxDQU1oRjtJQUVELG1CQUFtQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVyRDtJQUVLLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFM0M7SUFFSyw0QkFBNEIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXBEO0lBRUsscUJBQXFCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUVsRDtJQUVLLHFCQUFxQixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFbEQ7SUFFSywyQkFBMkIsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBRTFGO0lBRUssa0JBQWtCLElBQUksT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBK0I3RDtJQUVZLGlCQUFpQix3QkFFN0I7SUFFWSwyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFckY7SUFFSyx5QkFBeUIsQ0FDN0IsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixFQUFFLFNBQVMsS0FBSyxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUMsR0FDbEcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBR2Y7SUFFWSxjQUFjLENBQ3pCLElBQUksRUFBRSxTQUFTO1FBQ2IsVUFBVTtRQUNWLHlCQUF5QjtRQUN6QixLQUFLLE1BQU0sRUFBRSxFQUFFO1FBQ2YsYUFBYTtRQUNiLEtBQUssTUFBTSxFQUFFO1FBQ2IsS0FBSyxNQUFNLEVBQUU7UUFDYjtZQUNFLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDbEIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO1NBQzNCO0tBQ0YsRUFDRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsR0FBRyxPQUFPLEdBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FZZjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNVLFlBQVksQ0FDdkIsT0FBTyxFQUFFLE1BQU0sRUFDZixPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQ2hDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLElBQUksR0FBRTtRQUNKLDRCQUE0QixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7UUFDaEQsWUFBWSxDQUFDLEVBQUU7WUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztZQUFDLE9BQU8sRUFBRSxFQUFFLENBQUE7U0FBRSxDQUFDO0tBQy9ELEdBQ0wsT0FBTyxDQUFDO1FBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQztRQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO1FBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQTZCN0Y7SUFFRDs7OztPQUlHO0lBQ1UsbUNBQW1DLENBQzlDLDRCQUE0QixFQUFFLGdCQUFnQixHQUFHLFNBQVMsR0FDekQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQWN4QjtJQUVEOzs7T0FHRztJQUNVLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQThCbkg7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxhQUFhLENBcUJ6RjtJQUVELDhGQUE4RjtJQUM5RixPQUFjLG1CQUFtQixDQUFDLEdBQUcsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLGFBQWEsQ0FzQjlFO0lBRUQsZ0dBQWdHO0lBQ2hHLE9BQWMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxNQUFNLENBWTVEO0lBRUQ7NkZBQ3lGO0lBQ3pGLE9BQWMscUJBQXFCLENBQ2pDLGVBQWUsRUFBRSxTQUFTLEVBQzFCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLHFCQUFxQixFQUFFLE1BQU0sRUFDN0IsVUFBVSxFQUFFLE1BQU0sR0FDakIsU0FBUyxDQWdDWDtJQUVELG1GQUFtRjtJQUM1RSxvQ0FBb0MsQ0FDekMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLHNCQUFzQixFQUFFLHlCQUF5QixFQUNqRCxTQUFTLEVBQUUsVUFBVSxFQUFFLEVBQ3ZCLFlBQVksRUFBRSxNQUFNLEdBQ25CLFdBQVcsQ0FlYjtJQUVELDZGQUE2RjtJQUN0Riw4Q0FBOEMsQ0FDbkQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLHNCQUFzQixFQUFFLHlCQUF5QixFQUNqRCxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQ3RCLFdBQVcsQ0FVYjtJQUVELHdJQUF3STtJQUNqSSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLFVBQVUsb0JBS2pIO0lBRUQsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV0RztJQUVLLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FRckc7SUFFSyxTQUFTLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBRXREO0lBRUssTUFBTSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQUUsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FVbEg7SUFFSyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRTtRQUFFLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUc1RjtJQUVLLE9BQU8sSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBRTNCO0lBRUssU0FBUyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFL0Q7SUFFRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBSzlEO0lBRUQsZ0NBQWdDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBS3pGO0lBRUssWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FTNUQ7SUFFSyxlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQXdCdEU7SUFFSyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUtsRTtJQUVLLHNCQUFzQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FFbEY7SUFFSyw2QkFBNkIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBRXZEO0lBRUssZUFBZSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FFM0M7SUFFSyxlQUFlLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQVE3QztJQUVELFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUzs7O09BVTlCO0lBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU07OztPQVU1QztJQUVNLHNCQUFzQixDQUMzQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFBRSxVQUFVLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUFDLFVBQVUsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFBO0tBQUUsS0FBSyxPQUFPLEdBQ3BGLDRCQUE0QixDQWM5QjtJQUVNLDZCQUE2QixDQUNsQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQTtLQUFFLEtBQUssT0FBTyxHQUNsRSw0QkFBNEIsQ0FjOUI7SUFFWSxjQUFjLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO1FBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQTtLQUFFLEVBQUUsQ0FBQyxDQU1qRztJQUVNLGFBQWEsQ0FDbEIsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLFFBQVEsRUFBRSxVQUFVLENBQUE7S0FBRSxLQUFLLE9BQU8sR0FDcEUsNEJBQTRCLENBYTlCO0lBRUQsc0VBQXNFO0lBQ2hFLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQThCdEc7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
@@ -376,25 +376,19 @@ import { Buffer32 } from '@aztec/foundation/buffer';
376
376
  import { Fr } from '@aztec/foundation/curves/bn254';
377
377
  import { memoize } from '@aztec/foundation/decorators';
378
378
  import { EthAddress } from '@aztec/foundation/eth-address';
379
+ import { createLogger } from '@aztec/foundation/log';
379
380
  import { makeBackoff, retry } from '@aztec/foundation/retry';
380
381
  import { EscapeHatchAbi } from '@aztec/l1-artifacts/EscapeHatchAbi';
381
382
  import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
382
383
  import { RollupStorage } from '@aztec/l1-artifacts/RollupStorage';
383
384
  import chunk from 'lodash.chunk';
384
- import { encodeFunctionData, getContract, hexToBigInt, keccak256 } from 'viem';
385
+ import { encodeAbiParameters, encodeFunctionData, getContract, hexToBigInt, keccak256 } from 'viem';
385
386
  import { getPublicClient } from '../client.js';
386
387
  import { formatViemError } from '../utils.js';
387
- import { EmpireSlashingProposerContract } from './empire_slashing_proposer.js';
388
388
  import { GSEContract } from './gse.js';
389
389
  import { SlasherContract } from './slasher_contract.js';
390
- import { TallySlashingProposerContract } from './tally_slashing_proposer.js';
390
+ import { SlashingProposerContract } from './slashing_proposer.js';
391
391
  import { checkBlockTag } from './utils.js';
392
- export var SlashingProposerType = /*#__PURE__*/ function(SlashingProposerType) {
393
- SlashingProposerType[SlashingProposerType["None"] = 0] = "None";
394
- SlashingProposerType[SlashingProposerType["Tally"] = 1] = "Tally";
395
- SlashingProposerType[SlashingProposerType["Empire"] = 2] = "Empire";
396
- return SlashingProposerType;
397
- }({});
398
392
  /**
399
393
  * Status of a validator/attester in the staking system.
400
394
  * Matches the Status enum in StakingLib.sol
@@ -499,6 +493,16 @@ export class RollupContract {
499
493
  2,
500
494
  "getGenesisArchiveTreeRoot"
501
495
  ],
496
+ [
497
+ memoize,
498
+ 2,
499
+ "getVkTreeRoot"
500
+ ],
501
+ [
502
+ memoize,
503
+ 2,
504
+ "getProtocolContractsHash"
505
+ ],
502
506
  [
503
507
  memoize,
504
508
  2,
@@ -507,6 +511,7 @@ export class RollupContract {
507
511
  ], []));
508
512
  }
509
513
  rollup;
514
+ logger;
510
515
  static cachedStfStorageSlot;
511
516
  cachedEscapeHatch;
512
517
  static get checkBlobStorageSlot() {
@@ -530,7 +535,7 @@ export class RollupContract {
530
535
  }
531
536
  constructor(client, address){
532
537
  this.client = client;
533
- _initProto(this);
538
+ this.logger = (_initProto(this), createLogger('ethereum:rollup'));
534
539
  if (address instanceof EthAddress) {
535
540
  address = address.toString();
536
541
  }
@@ -555,34 +560,10 @@ export class RollupContract {
555
560
  return undefined;
556
561
  }
557
562
  const proposerAddress = await slasher.getProposer();
558
- const proposerAbi = [
559
- {
560
- type: 'function',
561
- name: 'SLASHING_PROPOSER_TYPE',
562
- inputs: [],
563
- outputs: [
564
- {
565
- name: '',
566
- type: 'uint8',
567
- internalType: 'enum SlasherFlavor'
568
- }
569
- ],
570
- stateMutability: 'view'
571
- }
572
- ];
573
- const proposer = getContract({
574
- address: proposerAddress.toString(),
575
- abi: proposerAbi,
576
- client: this.client
577
- });
578
- const proposerType = await proposer.read.SLASHING_PROPOSER_TYPE();
579
- if (proposerType === 1..valueOf()) {
580
- return new TallySlashingProposerContract(this.client, proposerAddress);
581
- } else if (proposerType === 2..valueOf()) {
582
- return new EmpireSlashingProposerContract(this.client, proposerAddress);
583
- } else {
584
- throw new Error(`Unknown slashing proposer type: ${proposerType}`);
563
+ if (proposerAddress.isZero()) {
564
+ return undefined;
585
565
  }
566
+ return new SlashingProposerContract(this.client, proposerAddress);
586
567
  }
587
568
  getL1StartBlock() {
588
569
  return this.rollup.read.L1_BLOCK_AT_GENESIS();
@@ -640,18 +621,35 @@ export class RollupContract {
640
621
  0n
641
622
  ]));
642
623
  }
624
+ async getVkTreeRoot() {
625
+ const slot = BigInt(RollupContract.stfStorageSlot) + 3n;
626
+ const value = await this.client.getStorageAt({
627
+ address: this.address,
628
+ slot: `0x${slot.toString(16)}`
629
+ });
630
+ return Fr.fromString(value ?? '0x0');
631
+ }
632
+ async getProtocolContractsHash() {
633
+ const slot = BigInt(RollupContract.stfStorageSlot) + 4n;
634
+ const value = await this.client.getStorageAt({
635
+ address: this.address,
636
+ slot: `0x${slot.toString(16)}`
637
+ });
638
+ return Fr.fromString(value ?? '0x0');
639
+ }
643
640
  /**
644
641
  * Returns rollup constants used for epoch queries.
645
642
  * Return type is `L1RollupConstants` which is defined in stdlib,
646
643
  * so we cant reference it until we move this contract to that package.
647
644
  */ async getRollupConstants() {
648
- const [l1StartBlock, l1GenesisTime, slotDuration, epochDuration, proofSubmissionEpochs, targetCommitteeSize] = await Promise.all([
645
+ const [l1StartBlock, l1GenesisTime, slotDuration, epochDuration, proofSubmissionEpochs, targetCommitteeSize, rollupManaLimit] = await Promise.all([
649
646
  this.getL1StartBlock(),
650
647
  this.getL1GenesisTime(),
651
648
  this.getSlotDuration(),
652
649
  this.getEpochDuration(),
653
650
  this.getProofSubmissionEpochs(),
654
- this.getTargetCommitteeSize()
651
+ this.getTargetCommitteeSize(),
652
+ this.getManaLimit()
655
653
  ]);
656
654
  return {
657
655
  l1StartBlock,
@@ -659,7 +657,8 @@ export class RollupContract {
659
657
  slotDuration,
660
658
  epochDuration: Number(epochDuration),
661
659
  proofSubmissionEpochs: Number(proofSubmissionEpochs),
662
- targetCommitteeSize
660
+ targetCommitteeSize,
661
+ rollupManaLimit: Number(rollupManaLimit)
663
662
  };
664
663
  }
665
664
  async getSlasherAddress() {
@@ -705,7 +704,11 @@ export class RollupContract {
705
704
  BigInt(epoch)
706
705
  ]);
707
706
  return isOpen;
708
- } catch {
707
+ } catch (err) {
708
+ this.logger.warn('isEscapeHatchOpen failed (treating as closed); RPC or contract error may cause liveness risk', {
709
+ epoch: Number(epoch),
710
+ error: err
711
+ });
709
712
  return false;
710
713
  }
711
714
  }
@@ -737,8 +740,9 @@ export class RollupContract {
737
740
  async getCheckpointNumber() {
738
741
  return CheckpointNumber.fromBigInt(await this.rollup.read.getPendingCheckpointNumber());
739
742
  }
740
- async getProvenCheckpointNumber() {
741
- return CheckpointNumber.fromBigInt(await this.rollup.read.getProvenCheckpointNumber());
743
+ async getProvenCheckpointNumber(options) {
744
+ await checkBlockTag(options?.blockNumber, this.client);
745
+ return CheckpointNumber.fromBigInt(await this.rollup.read.getProvenCheckpointNumber(options));
742
746
  }
743
747
  async getSlotNumber() {
744
748
  return SlotNumber.fromBigInt(await this.rollup.read.getCurrentSlot());
@@ -937,10 +941,10 @@ export class RollupContract {
937
941
  * @return [slot, checkpointNumber, timeOfNextL1Slot] - If you can propose, the L2 slot number, checkpoint number and
938
942
  * timestamp of the next L1 block
939
943
  * @throws otherwise
940
- */ async canProposeAtNextEthBlock(archive, account, slotDuration, opts = {}) {
941
- const latestBlock = await this.client.getBlock();
942
- const timeOfNextL1Slot = latestBlock.timestamp + BigInt(slotDuration);
944
+ */ async canProposeAt(archive, account, timestamp, opts = {}) {
945
+ const timeOfNextL1Slot = timestamp;
943
946
  const who = typeof account === 'string' ? account : account.address;
947
+ const stateOverride = RollupContract.mergeStateOverrides(await this.makePendingCheckpointNumberOverride(opts.forcePendingCheckpointNumber), opts.forceArchive ? this.makeArchiveOverride(opts.forceArchive.checkpointNumber, opts.forceArchive.archive) : []);
944
948
  try {
945
949
  const { result: [slot, checkpointNumber] } = await this.client.simulateContract({
946
950
  address: this.address,
@@ -952,7 +956,7 @@ export class RollupContract {
952
956
  who
953
957
  ],
954
958
  account,
955
- stateOverride: await this.makePendingCheckpointNumberOverride(opts.forcePendingCheckpointNumber)
959
+ stateOverride
956
960
  });
957
961
  return {
958
962
  slot: SlotNumber.fromBigInt(slot),
@@ -990,6 +994,139 @@ export class RollupContract {
990
994
  }
991
995
  ];
992
996
  }
997
+ /**
998
+ * Returns a state override that sets tempCheckpointLogs[checkpointNumber].feeHeader to the compressed fee header.
999
+ * Used when simulating a propose call where the parent checkpoint hasn't landed on L1 yet (pipelining).
1000
+ */ async makeFeeHeaderOverride(checkpointNumber, feeHeader) {
1001
+ const { epochDuration, proofSubmissionEpochs } = await this.getRollupConstants();
1002
+ const roundaboutSize = BigInt(epochDuration * (proofSubmissionEpochs + 1) + 1);
1003
+ const circularIndex = BigInt(checkpointNumber) % roundaboutSize;
1004
+ // tempCheckpointLogs is at offset 2 in RollupStore
1005
+ const tempCheckpointLogsMappingBase = hexToBigInt(RollupContract.stfStorageSlot) + 2n;
1006
+ // Solidity mapping slot: keccak256(abi.encode(key, baseSlot))
1007
+ const structBaseSlot = hexToBigInt(keccak256(encodeAbiParameters([
1008
+ {
1009
+ type: 'uint256'
1010
+ },
1011
+ {
1012
+ type: 'uint256'
1013
+ }
1014
+ ], [
1015
+ circularIndex,
1016
+ tempCheckpointLogsMappingBase
1017
+ ])));
1018
+ // feeHeader is the 7th field (offset 6) in CompressedTempCheckpointLog
1019
+ const feeHeaderSlot = structBaseSlot + 6n;
1020
+ const compressed = RollupContract.compressFeeHeader(feeHeader);
1021
+ return [
1022
+ {
1023
+ address: this.address,
1024
+ stateDiff: [
1025
+ {
1026
+ slot: `0x${feeHeaderSlot.toString(16).padStart(64, '0')}`,
1027
+ value: `0x${compressed.toString(16).padStart(64, '0')}`
1028
+ }
1029
+ ]
1030
+ }
1031
+ ];
1032
+ }
1033
+ /**
1034
+ * Returns a state override that sets archives[checkpointNumber] to the given archive value.
1035
+ * Used when simulating a canProposeAtTime call where the local archive differs from L1
1036
+ * (e.g. pipelining where the parent checkpoint hasn't landed on L1 yet).
1037
+ */ makeArchiveOverride(checkpointNumber, archive) {
1038
+ const archivesMappingBase = hexToBigInt(RollupContract.stfStorageSlot) + 1n;
1039
+ const archiveSlot = hexToBigInt(keccak256(encodeAbiParameters([
1040
+ {
1041
+ type: 'uint256'
1042
+ },
1043
+ {
1044
+ type: 'uint256'
1045
+ }
1046
+ ], [
1047
+ BigInt(checkpointNumber),
1048
+ archivesMappingBase
1049
+ ])));
1050
+ return [
1051
+ {
1052
+ address: this.address,
1053
+ stateDiff: [
1054
+ {
1055
+ slot: `0x${archiveSlot.toString(16).padStart(64, '0')}`,
1056
+ value: archive.toString()
1057
+ }
1058
+ ]
1059
+ }
1060
+ ];
1061
+ }
1062
+ /** Merges multiple StateOverride arrays, combining stateDiff entries for the same address. */ static mergeStateOverrides(...overrides) {
1063
+ const byAddress = new Map();
1064
+ for (const override of overrides){
1065
+ for (const entry of override){
1066
+ const key = entry.address.toLowerCase();
1067
+ const existing = byAddress.get(key);
1068
+ if (existing) {
1069
+ existing.stateDiff.push(...entry.stateDiff ?? []);
1070
+ if (entry.balance !== undefined) {
1071
+ existing.balance = entry.balance;
1072
+ }
1073
+ } else {
1074
+ byAddress.set(key, {
1075
+ address: entry.address,
1076
+ balance: entry.balance,
1077
+ stateDiff: [
1078
+ ...entry.stateDiff ?? []
1079
+ ]
1080
+ });
1081
+ }
1082
+ }
1083
+ }
1084
+ return [
1085
+ ...byAddress.values()
1086
+ ];
1087
+ }
1088
+ /** Compresses a FeeHeader into a uint256 matching FeeHeaderLib.compress() in FeeStructs.sol. */ static compressFeeHeader(feeHeader) {
1089
+ const MASK_48_BITS = (1n << 48n) - 1n;
1090
+ const MASK_64_BITS = (1n << 64n) - 1n;
1091
+ const MASK_63_BITS = (1n << 63n) - 1n;
1092
+ let value = BigInt(feeHeader.manaUsed) & (1n << 32n) - 1n; // bits [0:31]
1093
+ value |= (feeHeader.excessMana < MASK_48_BITS ? feeHeader.excessMana : MASK_48_BITS) << 32n; // bits [32:79]
1094
+ value |= (BigInt(feeHeader.ethPerFeeAsset) & MASK_48_BITS) << 80n; // bits [80:127]
1095
+ value |= (feeHeader.congestionCost < MASK_64_BITS ? feeHeader.congestionCost : MASK_64_BITS) << 128n; // bits [128:191]
1096
+ value |= (feeHeader.proverCost < MASK_63_BITS ? feeHeader.proverCost : MASK_63_BITS) << 192n; // bits [192:254]
1097
+ value |= 1n << 255n; // preheat flag
1098
+ return value;
1099
+ }
1100
+ /** Computes the fee header for a child checkpoint given parent fee header and child data.
1101
+ * Must stay in sync with Solidity FeeLib.sol (computeNewEthPerFeeAsset, clampedAdd). */ static computeChildFeeHeader(parentFeeHeader, childManaUsed, feeAssetPriceModifier, manaTarget) {
1102
+ const MIN_ETH_PER_FEE_ASSET = 100n;
1103
+ const MAX_ETH_PER_FEE_ASSET = 100_000_000_000_000n; // 1e14, matches FeeLib.sol
1104
+ // excessMana = clampedAdd(parent.excessMana + parent.manaUsed, -manaTarget)
1105
+ const sum = parentFeeHeader.excessMana + parentFeeHeader.manaUsed;
1106
+ const excessMana = sum > manaTarget ? sum - manaTarget : 0n;
1107
+ // ethPerFeeAsset = computeNewEthPerFeeAsset(max(parent.ethPerFeeAsset, MIN), modifier)
1108
+ const parentPrice = parentFeeHeader.ethPerFeeAsset > MIN_ETH_PER_FEE_ASSET ? parentFeeHeader.ethPerFeeAsset : MIN_ETH_PER_FEE_ASSET;
1109
+ let newPrice;
1110
+ if (feeAssetPriceModifier >= 0n) {
1111
+ newPrice = parentPrice * (10_000n + feeAssetPriceModifier) / 10_000n;
1112
+ } else {
1113
+ const absMod = -feeAssetPriceModifier;
1114
+ newPrice = parentPrice * (10_000n - absMod) / 10_000n;
1115
+ }
1116
+ if (newPrice < MIN_ETH_PER_FEE_ASSET) {
1117
+ newPrice = MIN_ETH_PER_FEE_ASSET;
1118
+ }
1119
+ if (newPrice > MAX_ETH_PER_FEE_ASSET) {
1120
+ newPrice = MAX_ETH_PER_FEE_ASSET;
1121
+ }
1122
+ return {
1123
+ excessMana,
1124
+ manaUsed: childManaUsed,
1125
+ ethPerFeeAsset: newPrice,
1126
+ congestionCost: 0n,
1127
+ proverCost: 0n
1128
+ };
1129
+ }
993
1130
  /** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */ buildInvalidateBadAttestationRequest(checkpointNumber, attestationsAndSigners, committee, invalidIndex) {
994
1131
  return {
995
1132
  to: this.address,
@@ -1031,11 +1168,25 @@ export class RollupContract {
1031
1168
  prover
1032
1169
  ]);
1033
1170
  }
1034
- getManaMinFeeAt(timestamp, inFeeAsset) {
1171
+ getManaMinFeeAt(timestamp, inFeeAsset, stateOverride) {
1035
1172
  return this.rollup.read.getManaMinFeeAt([
1036
1173
  timestamp,
1037
1174
  inFeeAsset
1175
+ ], {
1176
+ stateOverride
1177
+ });
1178
+ }
1179
+ async getManaMinFeeComponentsAt(timestamp, inFeeAsset) {
1180
+ const result = await this.rollup.read.getManaMinFeeComponentsAt([
1181
+ timestamp,
1182
+ inFeeAsset
1038
1183
  ]);
1184
+ return {
1185
+ sequencerCost: result.sequencerCost,
1186
+ proverCost: result.proverCost,
1187
+ congestionCost: result.congestionCost,
1188
+ congestionMultiplier: result.congestionMultiplier
1189
+ };
1039
1190
  }
1040
1191
  async getSlotAt(timestamp) {
1041
1192
  return SlotNumber.fromBigInt(await this.rollup.read.getSlotAt([
@@ -1086,10 +1237,10 @@ export class RollupContract {
1086
1237
  prover
1087
1238
  ]);
1088
1239
  }
1089
- async getAttesters() {
1240
+ async getAttesters(timestamp) {
1090
1241
  const attesterSize = await this.getActiveAttesterCount();
1091
1242
  const gse = new GSEContract(this.client, await this.getGSE());
1092
- const ts = (await this.client.getBlock()).timestamp;
1243
+ const ts = timestamp ?? (await this.client.getBlock()).timestamp;
1093
1244
  const indices = Array.from({
1094
1245
  length: attesterSize
1095
1246
  }, (_, i)=>BigInt(i));