@bsv/sdk 1.1.24 → 1.1.25

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 (47) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/totp/totp.js +1 -1
  3. package/dist/cjs/src/totp/totp.js.map +1 -1
  4. package/dist/cjs/src/transaction/Beef.js +492 -0
  5. package/dist/cjs/src/transaction/Beef.js.map +1 -0
  6. package/dist/cjs/src/transaction/BeefParty.js +97 -0
  7. package/dist/cjs/src/transaction/BeefParty.js.map +1 -0
  8. package/dist/cjs/src/transaction/BeefTx.js +123 -0
  9. package/dist/cjs/src/transaction/BeefTx.js.map +1 -0
  10. package/dist/cjs/src/transaction/Transaction.js +2 -1
  11. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  12. package/dist/cjs/src/transaction/index.js +7 -1
  13. package/dist/cjs/src/transaction/index.js.map +1 -1
  14. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  15. package/dist/esm/src/totp/totp.js +1 -1
  16. package/dist/esm/src/totp/totp.js.map +1 -1
  17. package/dist/esm/src/transaction/Beef.js +485 -0
  18. package/dist/esm/src/transaction/Beef.js.map +1 -0
  19. package/dist/esm/src/transaction/BeefParty.js +93 -0
  20. package/dist/esm/src/transaction/BeefParty.js.map +1 -0
  21. package/dist/esm/src/transaction/BeefTx.js +121 -0
  22. package/dist/esm/src/transaction/BeefTx.js.map +1 -0
  23. package/dist/esm/src/transaction/Transaction.js +2 -1
  24. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  25. package/dist/esm/src/transaction/index.js +3 -0
  26. package/dist/esm/src/transaction/index.js.map +1 -1
  27. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  28. package/dist/types/src/transaction/Beef.d.ts +143 -0
  29. package/dist/types/src/transaction/Beef.d.ts.map +1 -0
  30. package/dist/types/src/transaction/BeefParty.d.ts +62 -0
  31. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -0
  32. package/dist/types/src/transaction/BeefTx.d.ts +35 -0
  33. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -0
  34. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  35. package/dist/types/src/transaction/index.d.ts +3 -0
  36. package/dist/types/src/transaction/index.d.ts.map +1 -1
  37. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  38. package/docs/primitives.md +372 -55
  39. package/docs/transaction.md +466 -0
  40. package/package.json +1 -1
  41. package/src/totp/totp.ts +1 -1
  42. package/src/transaction/Beef.ts +533 -0
  43. package/src/transaction/BeefParty.ts +100 -0
  44. package/src/transaction/BeefTx.ts +121 -0
  45. package/src/transaction/Transaction.ts +2 -1
  46. package/src/transaction/__tests/Beef.test.ts +290 -0
  47. package/src/transaction/index.ts +3 -0
@@ -0,0 +1,143 @@
1
+ import MerklePath from "./MerklePath.js";
2
+ import Transaction from "./Transaction.js";
3
+ import ChainTracker from "./ChainTracker.js";
4
+ import BeefTx from "./BeefTx.js";
5
+ import { Reader } from "../primitives/utils.js";
6
+ export declare const BEEF_MAGIC = 4022206465;
7
+ export declare const BEEF_MAGIC_V2 = 4022206466;
8
+ export declare const BEEF_MAGIC_TXID_ONLY_EXTENSION = 4022206465;
9
+ export declare class Beef {
10
+ bumps: MerklePath[];
11
+ txs: BeefTx[];
12
+ constructor();
13
+ /**
14
+ * BEEF_MAGIC is the original V1 version.
15
+ * BEEF_MAGIC_V2 includes support for txidOnly transactions in serialized beefs.
16
+ * @returns version based on current contents.
17
+ */
18
+ get version(): number;
19
+ /**
20
+ * @param txid of `beefTx` to find
21
+ * @returns `BeefTx` in `txs` with `txid`.
22
+ */
23
+ findTxid(txid: string): BeefTx | undefined;
24
+ /**
25
+ * Merge a MerklePath that is assumed to be fully valid.
26
+ * @param bump
27
+ * @returns index of merged bump
28
+ */
29
+ mergeBump(bump: MerklePath): number;
30
+ /**
31
+ * Merge a serialized transaction.
32
+ *
33
+ * Checks that a transaction with the same txid hasn't already been merged.
34
+ *
35
+ * Replaces existing transaction with same txid.
36
+ *
37
+ * @param rawTx
38
+ * @param bumpIndex Optional. If a number, must be valid index into bumps array.
39
+ * @returns txid of rawTx
40
+ */
41
+ mergeRawTx(rawTx: number[], bumpIndex?: number): BeefTx;
42
+ /**
43
+ * Merge a `Transaction` and any referenced `merklePath` and `sourceTransaction`, recursifely.
44
+ *
45
+ * Replaces existing transaction with same txid.
46
+ *
47
+ * Attempts to match an existing bump to the new transaction.
48
+ *
49
+ * @param tx
50
+ * @returns txid of tx
51
+ */
52
+ mergeTransaction(tx: Transaction): BeefTx;
53
+ /**
54
+ * Removes an existing transaction from the BEEF, given its TXID
55
+ * @param txid TXID of the transaction to remove
56
+ */
57
+ removeExistingTxid(txid: string): void;
58
+ mergeTxidOnly(txid: string): BeefTx;
59
+ mergeBeefTx(btx: BeefTx): BeefTx;
60
+ mergeBeef(beef: number[] | Beef): void;
61
+ /**
62
+ * Sorts `txs` and checks structural validity of beef.
63
+ *
64
+ * Does NOT verify merkle roots.
65
+ *
66
+ * Validity requirements:
67
+ * 1. No 'known' txids, unless `allowTxidOnly` is true.
68
+ * 2. All transactions have bumps or their inputs chain back to bumps (or are known).
69
+ * 3. Order of transactions satisfies dependencies before dependents.
70
+ * 4. No transactions with duplicate txids.
71
+ *
72
+ * @param allowTxidOnly optional. If true, transaction txid only is assumed valid
73
+ */
74
+ isValid(allowTxidOnly?: boolean): boolean;
75
+ /**
76
+ * Sorts `txs` and confirms validity of transaction data contained in beef
77
+ * by validating structure of this beef and confirming computed merkle roots
78
+ * using `chainTracker`.
79
+ *
80
+ * Validity requirements:
81
+ * 1. No 'known' txids, unless `allowTxidOnly` is true.
82
+ * 2. All transactions have bumps or their inputs chain back to bumps (or are known).
83
+ * 3. Order of transactions satisfies dependencies before dependents.
84
+ * 4. No transactions with duplicate txids.
85
+ *
86
+ * @param chainTracker Used to verify computed merkle path roots for all bump txids.
87
+ * @param allowTxidOnly optional. If true, transaction txid is assumed valid
88
+ */
89
+ verify(chainTracker: ChainTracker, allowTxidOnly?: boolean): Promise<boolean>;
90
+ private verifyValid;
91
+ /**
92
+ * Returns a binary array representing the serialized BEEF
93
+ * @returns A binary array representing the BEEF
94
+ */
95
+ toBinary(): number[];
96
+ /**
97
+ * Returns a hex string representing the serialized BEEF
98
+ * @returns A hex string representing the BEEF
99
+ */
100
+ toHex(): string;
101
+ static fromReader(br: Reader): Beef;
102
+ /**
103
+ * Constructs an instance of the Beef class based on the provided binary array
104
+ * @param bin The binary array from which to construct BEEF
105
+ * @returns An instance of the Beef class constructed from the binary data
106
+ */
107
+ static fromBinary(bin: number[]): Beef;
108
+ /**
109
+ * Constructs an instance of the Beef class based on the provided string
110
+ * @param s The string value from which to construct BEEF
111
+ * @param enc The encoding of the string value from which BEEF should be constructed
112
+ * @returns An instance of the Beef class constructed from the string
113
+ */
114
+ static fromString(s: string, enc?: 'hex' | 'utf8' | 'base64'): Beef;
115
+ /**
116
+ * Try to validate newTx.bumpIndex by looking for an existing bump
117
+ * that proves newTx.txid
118
+ *
119
+ * @param newTx A new `BeefTx` that has been added to this.txs
120
+ * @returns true if a bump was found, false otherwise
121
+ */
122
+ private tryToValidateBumpIndex;
123
+ /**
124
+ * Sort the `txs` by input txid dependency order.
125
+ * @returns array of input txids of unproven transactions that aren't included in txs.
126
+ */
127
+ sortTxs(): string[];
128
+ /**
129
+ * @returns a shallow copy of this beef
130
+ */
131
+ clone(): Beef;
132
+ /**
133
+ * Ensure that all the txids in `knownTxids` are txidOnly
134
+ * @param knownTxids
135
+ */
136
+ trimKnownTxids(knownTxids: string[]): void;
137
+ /**
138
+ * @returns Summary of `Beef` contents as multi-line string.
139
+ */
140
+ toLogString(): string;
141
+ }
142
+ export default Beef;
143
+ //# sourceMappingURL=Beef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Beef.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAA0B,MAAM,wBAAwB,CAAA;AAEvE,eAAO,MAAM,UAAU,aAAa,CAAA;AACpC,eAAO,MAAM,aAAa,aAAa,CAAA;AACvC,eAAO,MAAM,8BAA8B,aAAa,CAAA;AAyCxD,qBAAa,IAAI;IACb,KAAK,EAAE,UAAU,EAAE,CAAK;IACxB,GAAG,EAAE,MAAM,EAAE,CAAK;;IAKlB;;;;OAIG;IACH,IAAI,OAAO,IAAI,MAAM,CAMpB;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1C;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IA6CnC;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAQvD;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM;IAmBzC;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAM/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAUnC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAU/B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO;IAIzC;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAanF,OAAO,CAAC,WAAW;IAkDnB;;;OAGG;IACH,QAAQ,IAAI,MAAM,EAAE;IAkBpB;;;OAGG;IACH,KAAK,IAAI,MAAM;IAIf,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAkBnC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAKtC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI;IAOnE;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;IACH,OAAO,IAAI,MAAM,EAAE;IAkEnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE;IAYnC;;OAEG;IACH,WAAW,IAAI,MAAM;CA0BxB;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { Beef } from "./Beef.js";
2
+ /**
3
+ * Extends `Beef` that is used to exchange transaction validity data with more than one external party.
4
+ *
5
+ * Use `addKnownTxidsForParty` to keep track of who knows what to reduce re-transmission of potentially large transactions.
6
+ *
7
+ * Use `getTrimmedBeefForParty` to obtain a `Beef` trimmed of transaction validity data known to a specific party.
8
+ *
9
+ * Typical usage scenario:
10
+ *
11
+ * 1. Query a wallet storage provider for spendable outputs.
12
+ * 2. The provider replies with a Beef validating the returned outputs.
13
+ * 3. Construct a new transaction using some of the queried outputs as inputs, including Beef validating all the inputs.
14
+ * 4. Receive new valid raw transaction after processing and Beef validating change outputs added to original inputs.
15
+ * 5. Return to step 1, continuing to build on old and new spendable outputs.
16
+ *
17
+ * By default, each Beef is required to be complete and valid: All transactions appear as full serialized bitcoin transactions and
18
+ * each transaction either has a merkle path proof (it has been mined) or all of its input transactions are included.
19
+ *
20
+ * The size and redundancy of these Beefs becomes a problem when chained transaction creation out-paces the block mining rate.
21
+ *
22
+ */
23
+ export declare class BeefParty extends Beef {
24
+ /**
25
+ * keys are party identifiers.
26
+ * values are records of txids with truthy value for which the party already has validity proof.
27
+ */
28
+ knownTo: Record<string, Record<string, boolean>>;
29
+ /**
30
+ *
31
+ * @param parties Optional array of initial unique party identifiers.
32
+ */
33
+ constructor(parties?: string[]);
34
+ /**
35
+ * @param party
36
+ * @returns `true` if `party` has already beed added to this `BeefParty`.
37
+ */
38
+ isParty(party: string): boolean;
39
+ /**
40
+ * Adds a new unique party identifier to this `BeefParty`.
41
+ * @param party
42
+ */
43
+ addParty(party: string): void;
44
+ /**
45
+ * @param party
46
+ * @returns Array of txids "known" to `party`.
47
+ */
48
+ getKnownTxidsForParty(party: string): string[];
49
+ /**
50
+ * @param party
51
+ * @returns trimmed beef of unknown transactions and proofs for `party`
52
+ */
53
+ getTrimmedBeefForParty(party: string): Beef;
54
+ /**
55
+ * Make note of additional txids "known" to `party`.
56
+ * @param party unique identifier, added if new.
57
+ * @param knownTxids
58
+ */
59
+ addKnownTxidsForParty(party: string, knownTxids: string[]): void;
60
+ }
61
+ export default BeefParty;
62
+ //# sourceMappingURL=BeefParty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BeefParty.d.ts","sourceRoot":"","sources":["../../../../src/transaction/BeefParty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAK;IAErD;;;OAGG;gBACS,OAAO,CAAC,EAAE,MAAM,EAAE;IAQ9B;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM;IAKrB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAI,MAAM,EAAE;IAO/C;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAI,IAAI;IAO5C;;;;OAIG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;CAS5D;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { Reader, Writer } from "../primitives/utils.js";
2
+ import Transaction from "./Transaction.js";
3
+ /**
4
+ * A single bitcoin transaction associated with a `Beef` validity proof set.
5
+ *
6
+ * Simple case is transaction data included directly, either as raw bytes or fully parsed data, or both.
7
+ *
8
+ * Supports 'known' transactions which are represented by just their txid.
9
+ * It is assumed that intended consumer of this beef already has validity proof for such a transaction,
10
+ * which they can merge if necessary to create a valid beef.
11
+ */
12
+ export default class BeefTx {
13
+ _bumpIndex?: number;
14
+ _tx?: Transaction;
15
+ _rawTx?: number[];
16
+ _txid?: string;
17
+ inputTxids: string[];
18
+ degree: number;
19
+ get bumpIndex(): number | undefined;
20
+ set bumpIndex(v: number | undefined);
21
+ get hasProof(): boolean;
22
+ get isTxidOnly(): boolean;
23
+ get txid(): string;
24
+ get tx(): Transaction;
25
+ get rawTx(): number[];
26
+ /**
27
+ * @param tx If string, must be a valid txid. If `number[]` must be a valid serialized transaction.
28
+ * @param bumpIndex If transaction already has a proof in the beef to which it will be added.
29
+ */
30
+ constructor(tx: Transaction | number[] | string, bumpIndex?: number);
31
+ private updateInputTxids;
32
+ toWriter(writer: Writer): void;
33
+ static fromReader(br: Reader): BeefTx;
34
+ }
35
+ //# sourceMappingURL=BeefTx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BeefTx.d.ts","sourceRoot":"","sources":["../../../../src/transaction/BeefTx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAA;AACvE,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAK;IACzB,MAAM,EAAE,MAAM,CAAI;IAElB,IAAI,SAAS,IAAK,MAAM,GAAG,SAAS,CAA0B;IAE9D,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAGlC;IAED,IAAI,QAAQ,IAAK,OAAO,CAEvB;IAED,IAAI,UAAU,IAAK,OAAO,CAEzB;IAED,IAAI,IAAI,WAKP;IAED,IAAI,EAAE,gBAIL;IAED,IAAI,KAAK,aAIR;IAED;;;OAGG;gBACU,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAcpE,OAAO,CAAC,gBAAgB;IAYxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAI,IAAI;IAmB/B,MAAM,CAAC,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;CAezC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,7 @@ export type { default as TransactionOutput } from './TransactionOutput.js';
5
5
  export type { Broadcaster, BroadcastFailure, BroadcastResponse } from './Broadcaster.js';
6
6
  export { isBroadcastResponse, isBroadcastFailure } from './Broadcaster.js';
7
7
  export type { default as ChainTracker } from './ChainTracker.js';
8
+ export { default as BeefTx } from './BeefTx.js';
9
+ export { default as Beef } from './Beef.js';
10
+ export { default as BeefParty } from './BeefParty.js';
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,YAAY,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,YAAY,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA"}