@aztec/aztec.js 0.7.3 → 0.7.5

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 (147) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/dest/abis/ecdsa_account_contract.json +530 -11
  3. package/dest/abis/schnorr_account_contract.json +530 -11
  4. package/dest/abis/schnorr_single_key_account_contract.json +523 -24
  5. package/dest/account/contract/base_account_contract.d.ts +17 -0
  6. package/dest/account/contract/base_account_contract.d.ts.map +1 -0
  7. package/dest/account/contract/base_account_contract.js +17 -0
  8. package/dest/account/contract/ecdsa_account_contract.d.ts +6 -7
  9. package/dest/account/contract/ecdsa_account_contract.d.ts.map +1 -1
  10. package/dest/account/contract/ecdsa_account_contract.js +18 -9
  11. package/dest/account/contract/index.d.ts +11 -8
  12. package/dest/account/contract/index.d.ts.map +1 -1
  13. package/dest/account/contract/index.js +2 -2
  14. package/dest/account/contract/schnorr_account_contract.d.ts +7 -8
  15. package/dest/account/contract/schnorr_account_contract.d.ts.map +1 -1
  16. package/dest/account/contract/schnorr_account_contract.js +17 -9
  17. package/dest/account/contract/single_key_account_contract.d.ts +6 -8
  18. package/dest/account/contract/single_key_account_contract.d.ts.map +1 -1
  19. package/dest/account/contract/single_key_account_contract.js +26 -7
  20. package/dest/account/defaults/default_entrypoint.d.ts +17 -0
  21. package/dest/account/defaults/default_entrypoint.d.ts.map +1 -0
  22. package/dest/account/defaults/default_entrypoint.js +90 -0
  23. package/dest/account/defaults/default_interface.d.ts +17 -0
  24. package/dest/account/defaults/default_interface.d.ts.map +1 -0
  25. package/dest/account/defaults/default_interface.js +22 -0
  26. package/dest/account/defaults/entrypoint_payload.d.ts.map +1 -0
  27. package/dest/account/defaults/entrypoint_payload.js +48 -0
  28. package/dest/account/defaults/index.d.ts +4 -0
  29. package/dest/account/defaults/index.d.ts.map +1 -0
  30. package/dest/account/defaults/index.js +4 -0
  31. package/dest/account/index.d.ts +8 -8
  32. package/dest/account/index.d.ts.map +1 -1
  33. package/dest/account/index.js +11 -12
  34. package/dest/account/interface.d.ts +31 -0
  35. package/dest/account/interface.d.ts.map +1 -0
  36. package/dest/account/interface.js +3 -0
  37. package/dest/account/{deploy_account_sent_tx.d.ts → manager/deploy_account_sent_tx.d.ts} +1 -1
  38. package/dest/account/manager/deploy_account_sent_tx.d.ts.map +1 -0
  39. package/dest/account/{deploy_account_sent_tx.js → manager/deploy_account_sent_tx.js} +2 -2
  40. package/dest/account/{account.d.ts → manager/index.d.ts} +7 -6
  41. package/dest/account/manager/index.d.ts.map +1 -0
  42. package/dest/account/{account.js → manager/index.js} +7 -7
  43. package/dest/{aztec_rpc_client/aztec_rpc_client.d.ts → aztec_rpc_client.d.ts} +1 -2
  44. package/dest/aztec_rpc_client.d.ts.map +1 -0
  45. package/dest/aztec_rpc_client.js +19 -0
  46. package/dest/contract/contract.d.ts +1 -1
  47. package/dest/contract/contract.d.ts.map +1 -1
  48. package/dest/contract/contract.js +1 -1
  49. package/dest/contract/contract.test.js +9 -3
  50. package/dest/contract/contract_base.d.ts +1 -1
  51. package/dest/contract/contract_base.d.ts.map +1 -1
  52. package/dest/contract/contract_function_interaction.d.ts +4 -4
  53. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  54. package/dest/contract/contract_function_interaction.js +1 -1
  55. package/dest/contract_deployer/deploy_method.d.ts.map +1 -1
  56. package/dest/contract_deployer/deploy_method.js +2 -1
  57. package/dest/index.d.ts +2 -1
  58. package/dest/index.d.ts.map +1 -1
  59. package/dest/index.js +3 -2
  60. package/dest/main.js +1 -1
  61. package/dest/sandbox/index.d.ts +70 -14
  62. package/dest/sandbox/index.d.ts.map +1 -1
  63. package/dest/utils/account.d.ts +1 -1
  64. package/dest/utils/account.d.ts.map +1 -1
  65. package/dest/utils/account.js +1 -1
  66. package/dest/wallet/account_wallet.d.ts +29 -0
  67. package/dest/wallet/account_wallet.d.ts.map +1 -0
  68. package/dest/wallet/account_wallet.js +61 -0
  69. package/dest/wallet/base_wallet.d.ts +38 -0
  70. package/dest/wallet/base_wallet.d.ts.map +1 -0
  71. package/dest/wallet/base_wallet.js +78 -0
  72. package/dest/wallet/index.d.ts +9 -0
  73. package/dest/wallet/index.d.ts.map +1 -0
  74. package/dest/wallet/index.js +4 -0
  75. package/dest/wallet/signerless_wallet.d.ts +13 -0
  76. package/dest/wallet/signerless_wallet.d.ts.map +1 -0
  77. package/dest/wallet/signerless_wallet.js +26 -0
  78. package/package.json +4 -4
  79. package/src/abis/ecdsa_account_contract.json +530 -11
  80. package/src/abis/schnorr_account_contract.json +530 -11
  81. package/src/abis/schnorr_single_key_account_contract.json +523 -24
  82. package/src/account/contract/base_account_contract.ts +25 -0
  83. package/src/account/contract/ecdsa_account_contract.ts +21 -12
  84. package/src/account/contract/index.ts +13 -8
  85. package/src/account/contract/schnorr_account_contract.ts +20 -12
  86. package/src/account/contract/single_key_account_contract.ts +28 -12
  87. package/src/account/defaults/default_entrypoint.ts +95 -0
  88. package/src/account/defaults/default_interface.ts +36 -0
  89. package/src/account/defaults/index.ts +3 -0
  90. package/src/account/index.ts +14 -14
  91. package/src/account/interface.ts +35 -0
  92. package/src/account/{deploy_account_sent_tx.ts → manager/deploy_account_sent_tx.ts} +1 -1
  93. package/src/account/{account.ts → manager/index.ts} +8 -7
  94. package/src/{aztec_rpc_client/aztec_rpc_client.ts → aztec_rpc_client.ts} +4 -2
  95. package/src/contract/contract.test.ts +9 -3
  96. package/src/contract/contract.ts +1 -1
  97. package/src/contract/contract_base.ts +1 -1
  98. package/src/contract/contract_function_interaction.ts +3 -3
  99. package/src/contract_deployer/deploy_method.ts +1 -0
  100. package/src/index.ts +2 -1
  101. package/src/utils/account.ts +1 -1
  102. package/src/wallet/account_wallet.ts +70 -0
  103. package/src/wallet/base_wallet.ts +103 -0
  104. package/src/wallet/index.ts +10 -0
  105. package/src/wallet/signerless_wallet.ts +39 -0
  106. package/dest/abis/schnorr_auth_witness_account_contract.json +0 -643
  107. package/dest/account/account.d.ts.map +0 -1
  108. package/dest/account/contract/auth_witness_account_contract.d.ts +0 -17
  109. package/dest/account/contract/auth_witness_account_contract.d.ts.map +0 -1
  110. package/dest/account/contract/auth_witness_account_contract.js +0 -23
  111. package/dest/account/deploy_account_sent_tx.d.ts.map +0 -1
  112. package/dest/account/entrypoint/auth_witness_account_entrypoint.d.ts +0 -74
  113. package/dest/account/entrypoint/auth_witness_account_entrypoint.d.ts.map +0 -1
  114. package/dest/account/entrypoint/auth_witness_account_entrypoint.js +0 -68
  115. package/dest/account/entrypoint/entrypoint_payload.d.ts.map +0 -1
  116. package/dest/account/entrypoint/entrypoint_payload.js +0 -48
  117. package/dest/account/entrypoint/entrypoint_utils.d.ts +0 -14
  118. package/dest/account/entrypoint/entrypoint_utils.d.ts.map +0 -1
  119. package/dest/account/entrypoint/entrypoint_utils.js +0 -24
  120. package/dest/account/entrypoint/index.d.ts +0 -20
  121. package/dest/account/entrypoint/index.d.ts.map +0 -1
  122. package/dest/account/entrypoint/index.js +0 -7
  123. package/dest/account/entrypoint/single_key_account_entrypoint.d.ts +0 -19
  124. package/dest/account/entrypoint/single_key_account_entrypoint.d.ts.map +0 -1
  125. package/dest/account/entrypoint/single_key_account_entrypoint.js +0 -50
  126. package/dest/account/entrypoint/stored_key_account_entrypoint.d.ts +0 -20
  127. package/dest/account/entrypoint/stored_key_account_entrypoint.d.ts.map +0 -1
  128. package/dest/account/entrypoint/stored_key_account_entrypoint.js +0 -47
  129. package/dest/aztec_rpc_client/aztec_rpc_client.d.ts.map +0 -1
  130. package/dest/aztec_rpc_client/aztec_rpc_client.js +0 -18
  131. package/dest/aztec_rpc_client/index.d.ts +0 -3
  132. package/dest/aztec_rpc_client/index.d.ts.map +0 -1
  133. package/dest/aztec_rpc_client/index.js +0 -3
  134. package/dest/aztec_rpc_client/wallet.d.ts +0 -109
  135. package/dest/aztec_rpc_client/wallet.d.ts.map +0 -1
  136. package/dest/aztec_rpc_client/wallet.js +0 -186
  137. package/src/abis/schnorr_auth_witness_account_contract.json +0 -643
  138. package/src/account/contract/auth_witness_account_contract.ts +0 -35
  139. package/src/account/entrypoint/auth_witness_account_entrypoint.ts +0 -125
  140. package/src/account/entrypoint/entrypoint_utils.ts +0 -31
  141. package/src/account/entrypoint/index.ts +0 -23
  142. package/src/account/entrypoint/single_key_account_entrypoint.ts +0 -55
  143. package/src/account/entrypoint/stored_key_account_entrypoint.ts +0 -56
  144. package/src/aztec_rpc_client/index.ts +0 -2
  145. package/src/aztec_rpc_client/wallet.ts +0 -219
  146. /package/dest/account/{entrypoint → defaults}/entrypoint_payload.d.ts +0 -0
  147. /package/src/account/{entrypoint → defaults}/entrypoint_payload.ts +0 -0
@@ -1,109 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { AztecAddress, Fr, GrumpkinPrivateKey, PartialAddress } from '@aztec/circuits.js';
3
- import { AztecRPC, ContractData, DeployedContract, ExtendedContractData, FunctionCall, L2BlockL2Logs, NodeInfo, NotePreimage, SyncStatus, Tx, TxExecutionRequest, TxHash, TxReceipt } from '@aztec/types';
4
- import { Entrypoint, IAuthWitnessAccountEntrypoint } from '../account/entrypoint/index.js';
5
- import { CompleteAddress } from '../index.js';
6
- /**
7
- * The wallet interface.
8
- */
9
- export type Wallet = Entrypoint & AztecRPC;
10
- /**
11
- * A base class for Wallet implementations
12
- */
13
- export declare abstract class BaseWallet implements Wallet {
14
- protected readonly rpc: AztecRPC;
15
- constructor(rpc: AztecRPC);
16
- abstract createTxExecutionRequest(execs: FunctionCall[]): Promise<TxExecutionRequest>;
17
- registerAccount(privKey: GrumpkinPrivateKey, partialAddress: PartialAddress): Promise<void>;
18
- registerRecipient(account: CompleteAddress): Promise<void>;
19
- getAccounts(): Promise<CompleteAddress[]>;
20
- getAccount(address: AztecAddress): Promise<CompleteAddress | undefined>;
21
- getRecipients(): Promise<CompleteAddress[]>;
22
- getRecipient(address: AztecAddress): Promise<CompleteAddress | undefined>;
23
- addContracts(contracts: DeployedContract[]): Promise<void>;
24
- getContracts(): Promise<AztecAddress[]>;
25
- simulateTx(txRequest: TxExecutionRequest, simulatePublic: boolean): Promise<Tx>;
26
- sendTx(tx: Tx): Promise<TxHash>;
27
- getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
28
- getPrivateStorageAt(owner: AztecAddress, contract: AztecAddress, storageSlot: Fr): Promise<NotePreimage[]>;
29
- getPublicStorageAt(contract: AztecAddress, storageSlot: Fr): Promise<any>;
30
- viewTx(functionName: string, args: any[], to: AztecAddress, from?: AztecAddress | undefined): Promise<any>;
31
- getExtendedContractData(contractAddress: AztecAddress): Promise<ExtendedContractData | undefined>;
32
- getContractData(contractAddress: AztecAddress): Promise<ContractData | undefined>;
33
- getUnencryptedLogs(from: number, limit: number): Promise<L2BlockL2Logs[]>;
34
- getBlockNumber(): Promise<number>;
35
- getNodeInfo(): Promise<NodeInfo>;
36
- isGlobalStateSynchronised(): Promise<boolean>;
37
- isAccountStateSynchronised(account: AztecAddress): Promise<boolean>;
38
- getSyncStatus(): Promise<SyncStatus>;
39
- addAuthWitness(messageHash: Fr, witness: Fr[]): Promise<void>;
40
- }
41
- /**
42
- * A simple wallet implementation that forwards authentication requests to a provided entrypoint implementation.
43
- */
44
- export declare class EntrypointWallet extends BaseWallet {
45
- protected accountImpl: Entrypoint;
46
- constructor(rpc: AztecRPC, accountImpl: Entrypoint);
47
- createTxExecutionRequest(executions: FunctionCall[]): Promise<TxExecutionRequest>;
48
- }
49
- /**
50
- * A wallet implementation supporting auth witnesses.
51
- * This wallet inserts eip1271-like witnesses into the RPC, which are then fetched using an oracle
52
- * to provide authentication data to the contract during execution.
53
- */
54
- export declare class AuthWitnessEntrypointWallet extends BaseWallet {
55
- protected accountImpl: IAuthWitnessAccountEntrypoint;
56
- protected address: CompleteAddress;
57
- constructor(rpc: AztecRPC, accountImpl: IAuthWitnessAccountEntrypoint, address: CompleteAddress);
58
- /**
59
- * Create a transaction request and add the auth witness to the RPC.
60
- * Note: When used in simulations, the witness that is inserted could be used later by attacker with
61
- * access to the RPC.
62
- * Meaning that if you were to use someone elses rpc with db you could send these transactions.
63
- * For simulations it would be desirable to bypass such that no data is generated.
64
- *
65
- * @param executions - The function calls to execute.
66
- * @param opts - The options.
67
- * @returns - The TxRequest
68
- */
69
- createTxExecutionRequest(executions: FunctionCall[]): Promise<TxExecutionRequest>;
70
- sign(messageHash: Buffer): Promise<Buffer>;
71
- /**
72
- * Signs the `messageHash` and adds the witness to the RPC.
73
- * This is useful for signing messages that are not directly part of the transaction payload, such as
74
- * approvals .
75
- * @param messageHash - The message hash to sign
76
- * @param opts - The options.
77
- */
78
- signAndAddAuthWitness(messageHash: Buffer): Promise<void>;
79
- /**
80
- * Signs the `messageHash` and adds the witness to the RPC.
81
- * This is useful for signing messages that are not directly part of the transaction payload, such as
82
- * approvals .
83
- * @param messageHash - The message hash to sign
84
- */
85
- signAndGetAuthWitness(messageHash: Buffer): Promise<Fr[]>;
86
- /** Returns the complete address of the account that implements this wallet. */
87
- getCompleteAddress(): CompleteAddress;
88
- /** Returns the address of the account that implements this wallet. */
89
- getAddress(): AztecAddress;
90
- }
91
- /**
92
- * A wallet implementation that forwards authentication requests to a provided account.
93
- */
94
- export declare class AccountWallet extends EntrypointWallet {
95
- protected accountImpl: Entrypoint;
96
- protected address: CompleteAddress;
97
- constructor(rpc: AztecRPC, accountImpl: Entrypoint, address: CompleteAddress);
98
- /** Returns the complete address of the account that implements this wallet. */
99
- getCompleteAddress(): CompleteAddress;
100
- /** Returns the address of the account that implements this wallet. */
101
- getAddress(): AztecAddress;
102
- }
103
- /**
104
- * Wallet implementation which creates a transaction request directly to the requested contract without any signing.
105
- */
106
- export declare class SignerlessWallet extends BaseWallet {
107
- createTxExecutionRequest(executions: FunctionCall[]): Promise<TxExecutionRequest>;
108
- }
109
- //# sourceMappingURL=wallet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/aztec_rpc_client/wallet.ts"],"names":[],"mappings":"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"}
@@ -1,186 +0,0 @@
1
- import { CircuitsWasm, Fr, TxContext } from '@aztec/circuits.js';
2
- import { PackedArguments, TxExecutionRequest, } from '@aztec/types';
3
- /**
4
- * A base class for Wallet implementations
5
- */
6
- export class BaseWallet {
7
- constructor(rpc) {
8
- this.rpc = rpc;
9
- }
10
- registerAccount(privKey, partialAddress) {
11
- return this.rpc.registerAccount(privKey, partialAddress);
12
- }
13
- registerRecipient(account) {
14
- return this.rpc.registerRecipient(account);
15
- }
16
- getAccounts() {
17
- return this.rpc.getAccounts();
18
- }
19
- getAccount(address) {
20
- return this.rpc.getAccount(address);
21
- }
22
- getRecipients() {
23
- return this.rpc.getRecipients();
24
- }
25
- getRecipient(address) {
26
- return this.rpc.getRecipient(address);
27
- }
28
- addContracts(contracts) {
29
- return this.rpc.addContracts(contracts);
30
- }
31
- getContracts() {
32
- return this.rpc.getContracts();
33
- }
34
- simulateTx(txRequest, simulatePublic) {
35
- return this.rpc.simulateTx(txRequest, simulatePublic);
36
- }
37
- sendTx(tx) {
38
- return this.rpc.sendTx(tx);
39
- }
40
- getTxReceipt(txHash) {
41
- return this.rpc.getTxReceipt(txHash);
42
- }
43
- getPrivateStorageAt(owner, contract, storageSlot) {
44
- return this.rpc.getPrivateStorageAt(owner, contract, storageSlot);
45
- }
46
- getPublicStorageAt(contract, storageSlot) {
47
- return this.rpc.getPublicStorageAt(contract, storageSlot);
48
- }
49
- viewTx(functionName, args, to, from) {
50
- return this.rpc.viewTx(functionName, args, to, from);
51
- }
52
- getExtendedContractData(contractAddress) {
53
- return this.rpc.getExtendedContractData(contractAddress);
54
- }
55
- getContractData(contractAddress) {
56
- return this.rpc.getContractData(contractAddress);
57
- }
58
- getUnencryptedLogs(from, limit) {
59
- return this.rpc.getUnencryptedLogs(from, limit);
60
- }
61
- getBlockNumber() {
62
- return this.rpc.getBlockNumber();
63
- }
64
- getNodeInfo() {
65
- return this.rpc.getNodeInfo();
66
- }
67
- isGlobalStateSynchronised() {
68
- return this.rpc.isGlobalStateSynchronised();
69
- }
70
- isAccountStateSynchronised(account) {
71
- return this.rpc.isAccountStateSynchronised(account);
72
- }
73
- getSyncStatus() {
74
- return this.rpc.getSyncStatus();
75
- }
76
- addAuthWitness(messageHash, witness) {
77
- return this.rpc.addAuthWitness(messageHash, witness);
78
- }
79
- }
80
- /**
81
- * A simple wallet implementation that forwards authentication requests to a provided entrypoint implementation.
82
- */
83
- export class EntrypointWallet extends BaseWallet {
84
- constructor(rpc, accountImpl) {
85
- super(rpc);
86
- this.accountImpl = accountImpl;
87
- }
88
- createTxExecutionRequest(executions) {
89
- return this.accountImpl.createTxExecutionRequest(executions);
90
- }
91
- }
92
- /**
93
- * A wallet implementation supporting auth witnesses.
94
- * This wallet inserts eip1271-like witnesses into the RPC, which are then fetched using an oracle
95
- * to provide authentication data to the contract during execution.
96
- */
97
- export class AuthWitnessEntrypointWallet extends BaseWallet {
98
- constructor(rpc, accountImpl, address) {
99
- super(rpc);
100
- this.accountImpl = accountImpl;
101
- this.address = address;
102
- }
103
- /**
104
- * Create a transaction request and add the auth witness to the RPC.
105
- * Note: When used in simulations, the witness that is inserted could be used later by attacker with
106
- * access to the RPC.
107
- * Meaning that if you were to use someone elses rpc with db you could send these transactions.
108
- * For simulations it would be desirable to bypass such that no data is generated.
109
- *
110
- * @param executions - The function calls to execute.
111
- * @param opts - The options.
112
- * @returns - The TxRequest
113
- */
114
- async createTxExecutionRequest(executions) {
115
- const { txRequest, message, witness } = await this.accountImpl.createTxExecutionRequestWithWitness(executions);
116
- await this.rpc.addAuthWitness(Fr.fromBuffer(message), witness);
117
- return txRequest;
118
- }
119
- sign(messageHash) {
120
- return Promise.resolve(this.accountImpl.sign(messageHash));
121
- }
122
- /**
123
- * Signs the `messageHash` and adds the witness to the RPC.
124
- * This is useful for signing messages that are not directly part of the transaction payload, such as
125
- * approvals .
126
- * @param messageHash - The message hash to sign
127
- * @param opts - The options.
128
- */
129
- async signAndAddAuthWitness(messageHash) {
130
- const witness = await this.accountImpl.createAuthWitness(messageHash);
131
- await this.rpc.addAuthWitness(Fr.fromBuffer(messageHash), witness);
132
- return Promise.resolve();
133
- }
134
- /**
135
- * Signs the `messageHash` and adds the witness to the RPC.
136
- * This is useful for signing messages that are not directly part of the transaction payload, such as
137
- * approvals .
138
- * @param messageHash - The message hash to sign
139
- */
140
- async signAndGetAuthWitness(messageHash) {
141
- return await this.accountImpl.createAuthWitness(messageHash);
142
- }
143
- /** Returns the complete address of the account that implements this wallet. */
144
- getCompleteAddress() {
145
- return this.address;
146
- }
147
- /** Returns the address of the account that implements this wallet. */
148
- getAddress() {
149
- return this.address.address;
150
- }
151
- }
152
- /**
153
- * A wallet implementation that forwards authentication requests to a provided account.
154
- */
155
- export class AccountWallet extends EntrypointWallet {
156
- constructor(rpc, accountImpl, address) {
157
- super(rpc, accountImpl);
158
- this.accountImpl = accountImpl;
159
- this.address = address;
160
- }
161
- /** Returns the complete address of the account that implements this wallet. */
162
- getCompleteAddress() {
163
- return this.address;
164
- }
165
- /** Returns the address of the account that implements this wallet. */
166
- getAddress() {
167
- return this.address.address;
168
- }
169
- }
170
- /**
171
- * Wallet implementation which creates a transaction request directly to the requested contract without any signing.
172
- */
173
- export class SignerlessWallet extends BaseWallet {
174
- async createTxExecutionRequest(executions) {
175
- if (executions.length !== 1) {
176
- throw new Error(`Unexpected number of executions. Expected 1, received ${executions.length})`);
177
- }
178
- const [execution] = executions;
179
- const wasm = await CircuitsWasm.get();
180
- const packedArguments = await PackedArguments.fromArgs(execution.args, wasm);
181
- const { chainId, version } = await this.rpc.getNodeInfo();
182
- const txContext = TxContext.empty(chainId, version);
183
- return Promise.resolve(new TxExecutionRequest(execution.to, execution.functionData, packedArguments.hash, txContext, [packedArguments]));
184
- }
185
- }
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6dGVjX3JwY19jbGllbnQvd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEVBQUUsRUFBc0MsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkgsT0FBTyxFQVNMLGVBQWUsRUFHZixrQkFBa0IsR0FHbkIsTUFBTSxjQUFjLENBQUM7QUFVdEI7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLFVBQVU7SUFDOUIsWUFBK0IsR0FBYTtRQUFiLFFBQUcsR0FBSCxHQUFHLENBQVU7SUFBRyxDQUFDO0lBSWhELGVBQWUsQ0FBQyxPQUEyQixFQUFFLGNBQThCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxPQUF3QjtRQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxZQUFZLENBQUMsT0FBcUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsWUFBWSxDQUFDLFNBQTZCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FB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