@partisiablockchain/blockchain-api-transaction-client 5.87.0 → 5.102.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -3
- package/package.json +3 -3
- package/target/main/generated/openapi/apis/ChainControllerApi.d.ts +1 -0
- package/target/main/generated/openapi/apis/ChainControllerApi.js +3 -0
- package/target/main/generated/openapi/apis/ChainControllerApi.js.map +1 -1
- package/target/main/transactionclient/BlockchainTransactionClient.d.ts +10 -1
- package/target/main/transactionclient/BlockchainTransactionClient.js +20 -2
- package/target/main/transactionclient/BlockchainTransactionClient.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,106 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Blockchain Clients
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
This library contains three different clients for interaction with the Partisia Blockchain. These are
|
|
4
|
+
|
|
5
|
+
- `ChainControllerApi` - Used to get information of contracts and accounts from the blockchain
|
|
6
|
+
- `ShardControllerApi` - Used to get information of blocks and transaction from the blockchain
|
|
7
|
+
- `BlockchainTransactionClient` - Client used to help build, sign, and send transactions to the blockchain
|
|
8
|
+
|
|
9
|
+
The `ChainControllerApi` and `ShardControllerApi` clients are generated from the OpenAPI spec
|
|
10
|
+
found [here](https://reader.partisiablockchain.com/openapi).
|
|
11
|
+
The `BlockchainTransactionClient` is instead built on top of the other clients and uses them to build, sign and send
|
|
12
|
+
transactions.
|
|
13
|
+
|
|
14
|
+
## ChainControllerApi
|
|
15
|
+
|
|
16
|
+
You can create a `ChainControllerApi` targeting a specific reader url as follows
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
const chainController = new ChainControllerApi(
|
|
20
|
+
new Configuration({basePath: "https://node1.testnet.partisiablockchain.com"})
|
|
21
|
+
);
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Get generic chain information
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
const chain = await chainController.getChain();
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Get the latest state of a contract
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
const state = await chainController.getContract({
|
|
34
|
+
address: "02e1e09358e543e8b1cf97d5e19d5b287983cee8f6",
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Get an AvlTreeMap value from a contract
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
const avlValue = await chainController.getContractAvlValue({
|
|
42
|
+
address: "02e1e09358e543e8b1cf97d5e19d5b287983cee8f6",
|
|
43
|
+
treeId: 0,
|
|
44
|
+
key: "00e72e44eab933faaf1fd4ce94bb57e08bff98a1ed"
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Get account data
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
const account = await chainController.getAccount({
|
|
52
|
+
address: "02e1e09358e543e8b1cf97d5e19d5b287983cee8f6",
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## ShardControllerApi
|
|
57
|
+
|
|
58
|
+
A `ShardControllerApi` is created the same way as a `ChainControllerApi`
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
const shardController = new ShardControllerApi(
|
|
62
|
+
new Configuration({basePath: "https://node1.testnet.partisiablockchain.com"})
|
|
63
|
+
);
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Get latest block for a specific shard
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
const block = await shardController.getLatestBlock({shardId: "Shard0"});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Get transaction information
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
const transaction = await shardController.getTransaction({
|
|
76
|
+
shardId: "Shard0",
|
|
77
|
+
transactionId: "9356779565b80548a1cd07800d2e2508e530f39cbd7eb71e057acf7bcb18ce0b",
|
|
78
|
+
});
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## BlockchainTransactionClient
|
|
82
|
+
|
|
83
|
+
When creating a transaction client you have to provide a way to generate signature. This is done through the
|
|
84
|
+
interface `SenderAuthentication`. The most basic implementation of this is the `SenderAuthenticationKeyPair` which uses
|
|
85
|
+
a private key to sign with. Other ways to sign includes wallets such as Metamask Snap, or Parti Wallet.
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
const senderAuthentication = SenderAuthenticationKeyPair.fromString(privateKey);
|
|
89
|
+
const transactionSender = BlockchainTransactionClient.create(
|
|
90
|
+
"https://node1.testnet.partisiablockchain.com",
|
|
91
|
+
senderAuthentication
|
|
92
|
+
);
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Sign and send a transaction
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
const transaction: Transaction = {address: contractAddress, rpc: actionRpc};
|
|
99
|
+
const sentTransaction = await transactionSender.signAndSend(transaction, gasCost);
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Wait for spawned events of a transaction
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
const transactionTree = await transactionSender.waitForSpawnedEvents(sentTransaction);
|
|
106
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@partisiablockchain/blockchain-api-transaction-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.102.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"eslint": "^8.57.0",
|
|
22
22
|
"eslint-plugin-import": "^2.26.0",
|
|
23
23
|
"eslint-plugin-jsdoc": "^50.0.0",
|
|
24
|
-
"globals": "^
|
|
24
|
+
"globals": "^16.0.0",
|
|
25
25
|
"jest": "^29.7.0",
|
|
26
|
-
"prettier": "3.5.
|
|
26
|
+
"prettier": "3.5.3",
|
|
27
27
|
"ts-jest": "^29.1.1",
|
|
28
28
|
"typescript": "^5.4.5"
|
|
29
29
|
},
|
|
@@ -247,6 +247,9 @@ class ChainControllerApi extends runtime.BaseAPI {
|
|
|
247
247
|
if (requestParameters['n'] != null) {
|
|
248
248
|
queryParameters['n'] = requestParameters['n'];
|
|
249
249
|
}
|
|
250
|
+
if (requestParameters['skip'] != null) {
|
|
251
|
+
queryParameters['skip'] = requestParameters['skip'];
|
|
252
|
+
}
|
|
250
253
|
if (requestParameters['blockTime'] != null) {
|
|
251
254
|
queryParameters['blockTime'] = requestParameters['blockTime'];
|
|
252
255
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainControllerApi.js","sourceRoot":"","sources":["../../../../../src/main/generated/openapi/apis/ChainControllerApi.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,oDAAsC;AAWtC,2CAiByB;
|
|
1
|
+
{"version":3,"file":"ChainControllerApi.js","sourceRoot":"","sources":["../../../../../src/main/generated/openapi/apis/ChainControllerApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BlockchainClientForTransaction, SenderAuthentication, SentTransaction, Transaction } from "./types";
|
|
2
1
|
import { ExecutedTransaction } from "../generated/openapi";
|
|
3
2
|
import { ConditionWaiter } from "./ConditionWaiter";
|
|
4
3
|
import { SignedTransaction } from "./SignedTransaction";
|
|
5
4
|
import { TransactionTree } from "./TransactionTree";
|
|
5
|
+
import { BlockchainClientForTransaction, SenderAuthentication, SentTransaction, Transaction } from "./types";
|
|
6
6
|
/** A client that supports signing, sending and waiting for transactions on the blockchain. */
|
|
7
7
|
export declare class BlockchainTransactionClient {
|
|
8
8
|
private readonly authentication;
|
|
@@ -117,6 +117,15 @@ export declare class BlockchainTransactionClient {
|
|
|
117
117
|
* @throws ApiException on io error
|
|
118
118
|
*/
|
|
119
119
|
ensureInclusionInBlock(transaction: Transaction, transactionGasCost: number, includeBefore: number, lastValidBlockWaitTime?: number): Promise<ExecutedTransaction>;
|
|
120
|
+
/**
|
|
121
|
+
* Sign and sends the transaction.
|
|
122
|
+
* @param transaction the transaction to sign and send
|
|
123
|
+
* @param transactionGasCost the transaction gas cost
|
|
124
|
+
* @param applicableUntil the latest time this transaction is allowed
|
|
125
|
+
* @returns a {@link SentTransaction} corresponding to the signed transaction or null if an
|
|
126
|
+
* {@link Error} was thrown
|
|
127
|
+
*/
|
|
128
|
+
private signAndSendRetryable;
|
|
120
129
|
private waitForExecutedTransaction;
|
|
121
130
|
private waitForLastPossibleBlockToInclude;
|
|
122
131
|
private waitForTransaction;
|
|
@@ -29,8 +29,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.BlockchainTransactionClient = void 0;
|
|
30
30
|
const openapi_1 = require("../generated/openapi");
|
|
31
31
|
const ConditionWaiter_1 = require("./ConditionWaiter");
|
|
32
|
-
const SignedTransaction_1 = require("./SignedTransaction");
|
|
33
32
|
const ShardAndChainControllerTransactionClient_1 = require("./ShardAndChainControllerTransactionClient");
|
|
33
|
+
const SignedTransaction_1 = require("./SignedTransaction");
|
|
34
34
|
const TransactionTree_1 = require("./TransactionTree");
|
|
35
35
|
/** A client that supports signing, sending and waiting for transactions on the blockchain. */
|
|
36
36
|
class BlockchainTransactionClient {
|
|
@@ -196,7 +196,7 @@ class BlockchainTransactionClient {
|
|
|
196
196
|
// Default is 30 days
|
|
197
197
|
const effectiveLastValidBlockWaitTime = lastValidBlockWaitTime !== null && lastValidBlockWaitTime !== void 0 ? lastValidBlockWaitTime : 2592000000;
|
|
198
198
|
while (includeBefore > this.currentTime()) {
|
|
199
|
-
const sentTransaction = yield this.
|
|
199
|
+
const sentTransaction = yield this.conditionWaiter.waitForCondition(() => __awaiter(this, void 0, void 0, function* () { return yield this.signAndSendRetryable(transaction, transactionGasCost, includeBefore); }), (sentTransaction) => sentTransaction !== undefined, includeBefore - this.currentTime(), () => "Unable to push transaction to chain");
|
|
200
200
|
const executedTransaction = yield this.waitForExecutedTransaction(sentTransaction, effectiveLastValidBlockWaitTime);
|
|
201
201
|
if (executedTransaction !== undefined) {
|
|
202
202
|
return executedTransaction;
|
|
@@ -205,6 +205,24 @@ class BlockchainTransactionClient {
|
|
|
205
205
|
throw new Error("Transaction was not included in block before " + includeBefore);
|
|
206
206
|
});
|
|
207
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Sign and sends the transaction.
|
|
210
|
+
* @param transaction the transaction to sign and send
|
|
211
|
+
* @param transactionGasCost the transaction gas cost
|
|
212
|
+
* @param applicableUntil the latest time this transaction is allowed
|
|
213
|
+
* @returns a {@link SentTransaction} corresponding to the signed transaction or null if an
|
|
214
|
+
* {@link Error} was thrown
|
|
215
|
+
*/
|
|
216
|
+
signAndSendRetryable(transaction, transactionGasCost, applicableUntil) {
|
|
217
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
218
|
+
try {
|
|
219
|
+
return yield this.send(yield this.sign(transaction, transactionGasCost, applicableUntil));
|
|
220
|
+
}
|
|
221
|
+
catch (_) {
|
|
222
|
+
/* empty */
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
208
226
|
waitForExecutedTransaction(sentTransaction, latestBlockWait) {
|
|
209
227
|
return __awaiter(this, void 0, void 0, function* () {
|
|
210
228
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockchainTransactionClient.js","sourceRoot":"","sources":["../../../src/main/transactionclient/BlockchainTransactionClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BlockchainTransactionClient.js","sourceRoot":"","sources":["../../../src/main/transactionclient/BlockchainTransactionClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AAEH,kDAO8B;AAC9B,uDAAyE;AACzE,yGAAsG;AACtG,2DAAwD;AACxD,uDAAoD;AASpD,8FAA8F;AAC9F,MAAa,2BAA2B;IA2BtC,YACE,iBAAiD,EACjD,cAAoC,EACpC,2BAAmC,EACnC,mBAA2B,EAC3B,WAAyB,EACzB,eAAgC;QAEhC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAC/D,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,MAAM,CAClB,OAAe,EACf,cAAoC,EACpC,2BAAoC,EACpC,2BAAoC;QAEpC,MAAM,kBAAkB,GAAG,IAAI,4BAAkB,CAAC,IAAI,uBAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,kBAAkB,GAAG,IAAI,4BAAkB,CAAC,IAAI,uBAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,IAAI,mFAAwC,CACpE,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,2BAA2B,CACpC,iBAAiB,EACjB,cAAc,EACd,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,IAAI,CAAC,qCAAqC,EACzE,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,IAAI,CAAC,6BAA6B,EACjE,IAAI,CAAC,oBAAoB,EACzB,qCAAmB,CAAC,MAAM,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,kBAAkB,CAC9B,iBAAiD,EACjD,cAAoC,EACpC,2BAAoC,EACpC,2BAAoC;QAEpC,OAAO,IAAI,2BAA2B,CACpC,iBAAiB,EACjB,cAAc,EACd,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,IAAI,CAAC,qCAAqC,EACzE,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,IAAI,CAAC,6BAA6B,EACjE,IAAI,CAAC,oBAAoB,EACzB,qCAAmB,CAAC,MAAM,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAClB,iBAAiD,EACjD,cAAoC,EACpC,2BAAmC,EACnC,mBAA2B,EAC3B,WAAyB,EACzB,eAAgC;QAEhC,OAAO,IAAI,2BAA2B,CACpC,iBAAiB,EACjB,cAAc,EACd,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,EACX,eAAe,CAChB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACU,IAAI,CACf,WAAwB,EACxB,OAAe,EACf,eAAwB;;YAExB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAC1D,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,2BAA2B,CAAC;YACxE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,qCAAiB,CAAC,MAAM,CAC7B,IAAI,CAAC,cAAc,EACnB,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;QACJ,CAAC;KAAA;IAED;;;;OAIG;IACU,IAAI,CAAC,iBAAoC;;YACpD,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAE5C,MAAM,qBAAqB,GAA0B,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3F,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YAC9F,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;QACnD,CAAC;KAAA;IAED;;;;;OAKG;IACU,WAAW,CAAC,WAAwB,EAAE,OAAe;;YAChE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;KAAA;IAED;;;;OAIG;IACU,uBAAuB,CAClC,eAAgC;;YAEhC,MAAM,WAAW,GAAG,eAAe,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;YAC1E,MAAM,qBAAqB,GAAS,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC;YAClF,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACvE,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAEpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;QACjF,CAAC;KAAA;IAED;;;;;OAKG;IACU,oBAAoB,CAC/B,WAAkD;;YAElD,IAAI,mBAAmB,GAAG,WAAW,CAAC;YACtC,IAAI,mBAAmB,IAAI,mBAAmB,EAAE,CAAC;gBAC/C,mBAAmB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,MAAM,GAA0B,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,mBAAmB,CAAC,eAAgB,CAAC;YAC7D,MAAM,aAAa,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAwB,CAAC;gBAC9D,MAAM,UAAU,GAAS,SAAS,CAAC,UAAU,CAAC;gBAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC;gBAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,MAAM,uBAAuB,GAAG,QAAQ,CAAC,eAAgB,CAAC;gBAC1D,aAAa,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,iCAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACU,sBAAsB,CACjC,WAAwB,EACxB,kBAA0B,EAC1B,aAAqB,EACrB,sBAA+B;;YAE/B,qBAAqB;YACrB,MAAM,+BAA+B,GAAG,sBAAsB,aAAtB,sBAAsB,cAAtB,sBAAsB,GAAI,UAAa,CAAC;YAChF,OAAO,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CACjE,GAAS,EAAE,gDAAC,OAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAA,GAAA,EAC3F,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,SAAS,EAClD,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,EAClC,GAAG,EAAE,CAAC,qCAAqC,CAC5C,CAAC;gBACF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAC/D,eAAgB,EAChB,+BAA+B,CAChC,CAAC;gBACF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,mBAAmB,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,aAAa,CAAC,CAAC;QACnF,CAAC;KAAA;IAED;;;;;;;OAOG;IACW,oBAAoB,CAChC,WAAwB,EACxB,kBAA0B,EAC1B,eAAuB;;YAEvB,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,WAAW;YACb,CAAC;QACH,CAAC;KAAA;IAEa,0BAA0B,CACtC,eAAgC,EAChC,eAAuB;;YAEvB,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,MAAM,IAAI,CAAC,iCAAiC,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;KAAA;IAEa,iCAAiC,CAC7C,eAAgC,EAChC,eAAuB;;YAEvB,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;YACtE,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,eAAe,GAAG,WAAW,CAAC;YAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CACzC,GAAS,EAAE,gDAAC,OAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAA,GAAA,EACzE,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,GAAG,WAAW,EAChD,OAAO,EACP,GAAG,EAAE,CACH,yDAAyD,WAAW,cAAc,OAAO,EAAE,CAC9F,CAAC;YACF,MAAM,qBAAqB,GAAG,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC;YAE5E,iCAAiC;YACjC,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YACrF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;KAAA;IAED,iCAAiC;IAEzB,kBAAkB,CACxB,OAAe,EACf,aAAmB,EACnB,OAAe;QAEf,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,EACnE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,SAAS,EACjF,OAAO,EACP,GAAG,EAAE,CAAC,gBAAgB,aAAa,2CAA2C,OAAO,GAAG,CACzF,CAAC;IACJ,CAAC;;AAtVH,kEAuVC;AA7UC;;;GAGG;AACoB,iEAAqC,GAAG,MAAM,CAAC;AAEtE;;;GAGG;AACoB,yDAA6B,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACoB,gDAAoB,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC"}
|