@cardano-sdk/web-extension 0.35.0 → 0.36.1
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/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/walletManager/WalletRepository/WalletRepository.d.ts +2 -2
- package/dist/cjs/walletManager/WalletRepository/WalletRepository.d.ts.map +1 -1
- package/dist/cjs/walletManager/WalletRepository/WalletRepository.js +19 -18
- package/dist/cjs/walletManager/WalletRepository/WalletRepository.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/walletManager/WalletRepository/WalletRepository.d.ts +2 -2
- package/dist/esm/walletManager/WalletRepository/WalletRepository.d.ts.map +1 -1
- package/dist/esm/walletManager/WalletRepository/WalletRepository.js +20 -19
- package/dist/esm/walletManager/WalletRepository/WalletRepository.js.map +1 -1
- package/package.json +3 -3
|
@@ -4,13 +4,13 @@ import { Logger } from 'ts-log';
|
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { storage } from '@cardano-sdk/wallet';
|
|
6
6
|
export interface WalletRepositoryDependencies<WalletMetadata extends {}, AccountMetadata extends {}> {
|
|
7
|
-
store
|
|
7
|
+
store$: Observable<storage.CollectionStore<AnyWallet<WalletMetadata, AccountMetadata>>>;
|
|
8
8
|
logger: Logger;
|
|
9
9
|
}
|
|
10
10
|
export declare class WalletRepository<WalletMetadata extends {}, AccountMetadata extends {}> implements WalletRepositoryApi<WalletMetadata, AccountMetadata> {
|
|
11
11
|
#private;
|
|
12
12
|
readonly wallets$: Observable<AnyWallet<WalletMetadata, AccountMetadata>[]>;
|
|
13
|
-
constructor({ logger, store }: WalletRepositoryDependencies<WalletMetadata, AccountMetadata>);
|
|
13
|
+
constructor({ logger, store$ }: WalletRepositoryDependencies<WalletMetadata, AccountMetadata>);
|
|
14
14
|
addWallet(props: AddWalletProps<WalletMetadata, AccountMetadata>): Promise<WalletId>;
|
|
15
15
|
addAccount(props: AddAccountProps<AccountMetadata>): Promise<AddAccountProps<AccountMetadata>>;
|
|
16
16
|
updateWalletMetadata(props: UpdateWalletMetadataProps<WalletMetadata>): Promise<UpdateWalletMetadataProps<WalletMetadata>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletRepository.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAgB,QAAQ,EAAc,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"WalletRepository.d.ts","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAgB,QAAQ,EAAc,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAS,UAAU,EAA8E,MAAM,MAAM,CAAC;AAKrH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,4BAA4B,CAAC,cAAc,SAAS,EAAE,EAAE,eAAe,SAAS,EAAE;IACjG,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,EAAE,MAAM,CAAC;CAChB;AAkCD,qBAAa,gBAAgB,CAAC,cAAc,SAAS,EAAE,EAAE,eAAe,SAAS,EAAE,CACjF,YAAW,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC;;IAI/D,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;gBAEhE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,cAAc,EAAE,eAAe,CAAC;IAcvF,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8B1F,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAkD9F,oBAAoB,CAClB,KAAK,EAAE,yBAAyB,CAAC,cAAc,CAAC,GAC/C,OAAO,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAyBrD,qBAAqB,CACnB,KAAK,EAAE,0BAA0B,CAAC,eAAe,CAAC,GACjD,OAAO,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;IA8BvD,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuCrE,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CA4CpD"}
|
|
@@ -10,12 +10,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _WalletRepository_instances, _WalletRepository_logger, _WalletRepository_store
|
|
13
|
+
var _WalletRepository_instances, _WalletRepository_logger, _WalletRepository_store$, _WalletRepository_getWallets, _WalletRepository_validateOwnSigners;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.WalletRepository = void 0;
|
|
16
16
|
const types_1 = require("../types");
|
|
17
17
|
const key_management_1 = require("@cardano-sdk/key-management");
|
|
18
18
|
const rxjs_1 = require("rxjs");
|
|
19
|
+
const util_rxjs_1 = require("@cardano-sdk/util-rxjs");
|
|
19
20
|
const errors_1 = require("../errors");
|
|
20
21
|
const util_1 = require("@cardano-sdk/util");
|
|
21
22
|
const util_2 = require("../util");
|
|
@@ -44,13 +45,13 @@ const findAccount = (wallets, walletId, accountIndex, purpose) => {
|
|
|
44
45
|
};
|
|
45
46
|
};
|
|
46
47
|
class WalletRepository {
|
|
47
|
-
constructor({ logger, store }) {
|
|
48
|
+
constructor({ logger, store$ }) {
|
|
48
49
|
_WalletRepository_instances.add(this);
|
|
49
50
|
_WalletRepository_logger.set(this, void 0);
|
|
50
|
-
_WalletRepository_store
|
|
51
|
-
__classPrivateFieldSet(this, _WalletRepository_store, store, "f");
|
|
51
|
+
_WalletRepository_store$.set(this, void 0);
|
|
52
|
+
__classPrivateFieldSet(this, _WalletRepository_store$, new util_rxjs_1.TrackerSubject((0, rxjs_1.concat)(store$, rxjs_1.NEVER)), "f");
|
|
52
53
|
__classPrivateFieldSet(this, _WalletRepository_logger, (0, util_1.contextLogger)(logger, 'WalletRepository'), "f");
|
|
53
|
-
this.wallets$ = (0, rxjs_1.defer)(() => store.observeAll()).pipe((0, rxjs_1.shareReplay)(1));
|
|
54
|
+
this.wallets$ = (0, rxjs_1.defer)(() => __classPrivateFieldGet(this, _WalletRepository_store$, "f").pipe((0, rxjs_1.mergeMap)((store) => store.observeAll()))).pipe((0, rxjs_1.shareReplay)(1));
|
|
54
55
|
}
|
|
55
56
|
async addWallet(props) {
|
|
56
57
|
__classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('addWallet', props.type);
|
|
@@ -63,21 +64,21 @@ class WalletRepository {
|
|
|
63
64
|
}
|
|
64
65
|
return (0, util_2.getWalletId)(pubKey);
|
|
65
66
|
})();
|
|
66
|
-
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
|
|
67
|
+
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, util_rxjs_1.blockingWithLatestFrom)(__classPrivateFieldGet(this, _WalletRepository_store$, "f")), (0, rxjs_1.switchMap)(([wallets, store]) => {
|
|
67
68
|
if (wallets.some((wallet) => wallet.walletId === walletId)) {
|
|
68
69
|
throw new errors_1.WalletConflictError(`Wallet '${walletId}' already exists`);
|
|
69
70
|
}
|
|
70
71
|
if (props.type === types_1.WalletType.Script) {
|
|
71
72
|
__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_validateOwnSigners).call(this, wallets, props.ownSigners);
|
|
72
73
|
}
|
|
73
|
-
return
|
|
74
|
+
return store.setAll([...wallets, { ...props, walletId }]);
|
|
74
75
|
}), (0, rxjs_1.map)(() => walletId)));
|
|
75
76
|
}
|
|
76
77
|
addAccount(props) {
|
|
77
78
|
const { walletId, accountIndex, metadata, extendedAccountPublicKey } = props;
|
|
78
79
|
__classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('addAccount', walletId, accountIndex, metadata);
|
|
79
80
|
const purpose = props.purpose || key_management_1.KeyPurpose.STANDARD;
|
|
80
|
-
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
|
|
81
|
+
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, util_rxjs_1.blockingWithLatestFrom)(__classPrivateFieldGet(this, _WalletRepository_store$, "f")), (0, rxjs_1.switchMap)(([wallets, store]) => {
|
|
81
82
|
const walletIndex = wallets.findIndex((w) => w.walletId === walletId);
|
|
82
83
|
if (walletIndex < 0) {
|
|
83
84
|
throw new errors_1.WalletConflictError(`Wallet '${walletId}' does not exist`);
|
|
@@ -92,7 +93,7 @@ class WalletRepository {
|
|
|
92
93
|
})) {
|
|
93
94
|
throw new errors_1.WalletConflictError(`Account #${accountIndex} with purpose ${purpose} for wallet '${walletId}' already exists`);
|
|
94
95
|
}
|
|
95
|
-
return
|
|
96
|
+
return store
|
|
96
97
|
.setAll(cloneSplice(wallets, walletIndex, 1, {
|
|
97
98
|
...wallet,
|
|
98
99
|
accounts: [
|
|
@@ -111,10 +112,10 @@ class WalletRepository {
|
|
|
111
112
|
updateWalletMetadata(props) {
|
|
112
113
|
const { walletId, metadata } = props;
|
|
113
114
|
__classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('updateWalletMetadata', walletId, metadata);
|
|
114
|
-
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
|
|
115
|
+
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, util_rxjs_1.blockingWithLatestFrom)(__classPrivateFieldGet(this, _WalletRepository_store$, "f")), (0, rxjs_1.switchMap)(([wallets, store]) => {
|
|
115
116
|
const walletIndex = wallets.findIndex((wallet) => wallet.walletId === walletId);
|
|
116
117
|
if (walletIndex >= 0) {
|
|
117
|
-
return
|
|
118
|
+
return store.setAll(cloneSplice(wallets, walletIndex, 1, {
|
|
118
119
|
...wallets[walletIndex],
|
|
119
120
|
metadata
|
|
120
121
|
}));
|
|
@@ -126,12 +127,12 @@ class WalletRepository {
|
|
|
126
127
|
const { walletId, accountIndex, metadata } = props;
|
|
127
128
|
const purpose = props.purpose || key_management_1.KeyPurpose.STANDARD;
|
|
128
129
|
__classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('updateAccountMetadata', walletId, accountIndex, metadata, purpose);
|
|
129
|
-
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
|
|
130
|
+
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, util_rxjs_1.blockingWithLatestFrom)(__classPrivateFieldGet(this, _WalletRepository_store$, "f")), (0, rxjs_1.switchMap)(([wallets, store]) => {
|
|
130
131
|
const bip32Account = findAccount(wallets, walletId, accountIndex, purpose);
|
|
131
132
|
if (!bip32Account) {
|
|
132
133
|
throw new errors_1.WalletConflictError(`Account not found: ${walletId}/${purpose}/${accountIndex}`);
|
|
133
134
|
}
|
|
134
|
-
return
|
|
135
|
+
return store.setAll(cloneSplice(wallets, bip32Account.walletIdx, 1, {
|
|
135
136
|
...bip32Account.wallet,
|
|
136
137
|
accounts: cloneSplice(bip32Account.wallet.accounts, bip32Account.accountIdx, 1, {
|
|
137
138
|
...bip32Account.account,
|
|
@@ -144,7 +145,7 @@ class WalletRepository {
|
|
|
144
145
|
const { walletId, accountIndex, purpose: maybePurpose } = props;
|
|
145
146
|
const purpose = maybePurpose || key_management_1.KeyPurpose.STANDARD;
|
|
146
147
|
__classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('removeAccount', walletId, accountIndex, purpose);
|
|
147
|
-
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.switchMap)((wallets) => {
|
|
148
|
+
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, util_rxjs_1.blockingWithLatestFrom)(__classPrivateFieldGet(this, _WalletRepository_store$, "f")), (0, rxjs_1.switchMap)(([wallets, store]) => {
|
|
148
149
|
const bip32Account = findAccount(wallets, walletId, accountIndex, purpose);
|
|
149
150
|
if (!bip32Account) {
|
|
150
151
|
throw new errors_1.WalletConflictError(`Account '${walletId}/${purpose}/${accountIndex}' does not exist`);
|
|
@@ -154,7 +155,7 @@ class WalletRepository {
|
|
|
154
155
|
if (dependentWallet) {
|
|
155
156
|
throw new errors_1.WalletConflictError(`Wallet '${dependentWallet.walletId}' depends on account '${walletId}/${purpose}/${accountIndex}'`);
|
|
156
157
|
}
|
|
157
|
-
return
|
|
158
|
+
return store.setAll(cloneSplice(wallets, bip32Account.walletIdx, 1, {
|
|
158
159
|
...bip32Account.wallet,
|
|
159
160
|
accounts: cloneSplice(bip32Account.wallet.accounts, bip32Account.accountIdx, 1)
|
|
160
161
|
}));
|
|
@@ -162,7 +163,7 @@ class WalletRepository {
|
|
|
162
163
|
}
|
|
163
164
|
removeWallet(walletId) {
|
|
164
165
|
__classPrivateFieldGet(this, _WalletRepository_logger, "f").debug('removeWallet', walletId);
|
|
165
|
-
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.take)(1), (0, rxjs_1.switchMap)((wallets) => {
|
|
166
|
+
return (0, rxjs_1.firstValueFrom)(__classPrivateFieldGet(this, _WalletRepository_instances, "m", _WalletRepository_getWallets).call(this).pipe((0, rxjs_1.take)(1), (0, util_rxjs_1.blockingWithLatestFrom)(__classPrivateFieldGet(this, _WalletRepository_store$, "f")), (0, rxjs_1.switchMap)(([wallets, store]) => {
|
|
166
167
|
const walletIndex = wallets.findIndex((w) => w.walletId === walletId);
|
|
167
168
|
if (walletIndex < 0) {
|
|
168
169
|
throw new errors_1.WalletConflictError(`Wallet '${walletId}' does not exist`);
|
|
@@ -171,12 +172,12 @@ class WalletRepository {
|
|
|
171
172
|
if (dependentWallet) {
|
|
172
173
|
throw new errors_1.WalletConflictError(`Wallet '${dependentWallet.walletId}' depends on wallet '${walletId}'`);
|
|
173
174
|
}
|
|
174
|
-
return
|
|
175
|
+
return store.setAll(cloneSplice(wallets, walletIndex, 1));
|
|
175
176
|
}), (0, rxjs_1.map)(() => walletId)));
|
|
176
177
|
}
|
|
177
178
|
}
|
|
178
179
|
exports.WalletRepository = WalletRepository;
|
|
179
|
-
_WalletRepository_logger = new WeakMap(), _WalletRepository_store = new WeakMap(), _WalletRepository_instances = new WeakSet(), _WalletRepository_getWallets = function _WalletRepository_getWallets() {
|
|
180
|
+
_WalletRepository_logger = new WeakMap(), _WalletRepository_store$ = new WeakMap(), _WalletRepository_instances = new WeakSet(), _WalletRepository_getWallets = function _WalletRepository_getWallets() {
|
|
180
181
|
return this.wallets$.pipe((0, rxjs_1.take)(1));
|
|
181
182
|
}, _WalletRepository_validateOwnSigners = function _WalletRepository_validateOwnSigners(wallets, ownSigners) {
|
|
182
183
|
for (const ownSigner of ownSigners) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletRepository.js","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,oCAAyE;AACzE,gEAAyD;AAEzD,+
|
|
1
|
+
{"version":3,"file":"WalletRepository.js","sourceRoot":"","sources":["../../../../src/walletManager/WalletRepository/WalletRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,oCAAyE;AACzE,gEAAyD;AAEzD,+BAAqH;AACrH,sDAAgF;AAChF,sCAAgD;AAChD,4CAAkD;AAClD,kCAAsC;AAQtC,MAAM,WAAW,GAAG,CAAI,KAAU,EAAE,KAAa,EAAE,WAAmB,EAAE,GAAG,KAAU,EAAE,EAAE,CAAC;IACxF,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;IACxB,GAAG,KAAK;IACR,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,OAAqD,EACrD,QAAkB,EAClB,YAAoB,EACpB,OAAmB,EACnB,EAAE;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAU,CAAC,MAAM;QAAE,OAAO;IAEzD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QACnD,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,IAAI,2BAAU,CAAC,QAAQ,CAAC;QAC1D,OAAO,GAAG,CAAC,YAAY,KAAK,YAAY,IAAI,cAAc,KAAK,OAAO,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO;IAC3B,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QACpC,UAAU;QACV,OAAO;QACP,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAa,gBAAgB;IAO3B,YAAY,EAAE,MAAM,EAAE,MAAM,EAAiE;;QAJ7F,2CAAyB;QACzB,2CAA0F;QAIxF,uBAAA,IAAI,4BAAW,IAAI,0BAAc,CAAC,IAAA,aAAM,EAAC,MAAM,EAAE,YAAK,CAAC,CAAC,MAAA,CAAC;QACzD,uBAAA,IAAI,4BAAW,IAAA,oBAAa,EAAC,MAAM,EAAE,kBAAkB,CAAC,MAAA,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,IAAA,eAAQ,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC;IAUD,KAAK,CAAC,SAAS,CAAC,KAAsD;QACpE,uBAAA,IAAI,gCAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GACZ,KAAK,CAAC,IAAI,KAAK,kBAAU,CAAC,MAAM;YAC9B,CAAC,CAAC,MAAM,IAAA,kBAAW,EAAC,KAAK,CAAC,aAAa,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC;gBAC3D,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,4BAAmB,CAAC,2CAA2C,CAAC,CAAC;iBAC5E;gBACD,OAAO,IAAA,kBAAW,EAAC,MAAM,CAAC,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC;QAEX,OAAO,IAAA,qBAAc,EACnB,uBAAA,IAAI,iEAAY,MAAhB,IAAI,CAAc,CAAC,IAAI,CACrB,IAAA,kCAAsB,EAAC,uBAAA,IAAI,gCAAQ,CAAC,EACpC,IAAA,gBAAS,EAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE;gBAC1D,MAAM,IAAI,4BAAmB,CAAC,WAAW,QAAQ,kBAAkB,CAAC,CAAC;aACtE;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAU,CAAC,MAAM,EAAE;gBACpC,uBAAA,IAAI,yEAAoB,MAAxB,IAAI,EAAqB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;aACrD;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,EACF,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CACpB,CACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAuC;QAChD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,wBAAwB,EAAE,GAAG,KAAK,CAAC;QAC7E,uBAAA,IAAI,gCAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,2BAAU,CAAC,QAAQ,CAAC;QAErD,OAAO,IAAA,qBAAc,EACnB,uBAAA,IAAI,iEAAY,MAAhB,IAAI,CAAc,CAAC,IAAI,CACrB,IAAA,kCAAsB,EAAC,uBAAA,IAAI,gCAAQ,CAAC,EACpC,IAAA,gBAAS,EAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YACtE,IAAI,WAAW,GAAG,CAAC,EAAE;gBACnB,MAAM,IAAI,4BAAmB,CAAC,WAAW,QAAQ,kBAAkB,CAAC,CAAC;aACtE;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAU,CAAC,MAAM,EAAE;gBACrC,MAAM,IAAI,4BAAmB,CAAC,gDAAgD,CAAC,CAAC;aACjF;YAED,IACE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3B,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,IAAI,2BAAU,CAAC,QAAQ,CAAC;gBAC1D,OAAO,GAAG,CAAC,YAAY,KAAK,YAAY,IAAI,cAAc,KAAK,OAAO,CAAC;YACzE,CAAC,CAAC,EACF;gBACA,MAAM,IAAI,4BAAmB,CAC3B,YAAY,YAAY,iBAAiB,OAAO,gBAAgB,QAAQ,kBAAkB,CAC3F,CAAC;aACH;YAED,OAAO,KAAK;iBACT,MAAM,CACL,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE;gBACnC,GAAG,MAAM;gBACT,QAAQ,EAAE;oBACR,GAAG,MAAM,CAAC,QAAQ;oBAClB;wBACE,YAAY;wBACZ,wBAAwB;wBACxB,QAAQ;wBACR,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB;iBACF;aACF,CAAC,CACH;iBACA,IAAI,CAAC,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED,oBAAoB,CAClB,KAAgD;QAEhD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACrC,uBAAA,IAAI,gCAAQ,CAAC,KAAK,CAAC,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/D,OAAO,IAAA,qBAAc,EACnB,uBAAA,IAAI,iEAAY,MAAhB,IAAI,CAAc,CAAC,IAAI,CACrB,IAAA,kCAAsB,EAAC,uBAAA,IAAI,gCAAQ,CAAC,EACpC,IAAA,gBAAS,EAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAChF,IAAI,WAAW,IAAI,CAAC,EAAE;gBAEpB,OAAO,KAAK,CAAC,MAAM,CACjB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE;oBACnC,GAAI,OAAO,CAAC,WAAW,CAAgD;oBACvE,QAAQ;iBACT,CAAC,CACH,CAAC;aACH;YACD,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,EACF,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CACjB,CACF,CAAC;IACJ,CAAC;IAED,qBAAqB,CACnB,KAAkD;QAElD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,2BAAU,CAAC,QAAQ,CAAC;QAErD,uBAAA,IAAI,gCAAQ,CAAC,KAAK,CAAC,uBAAuB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEvF,OAAO,IAAA,qBAAc,EACnB,uBAAA,IAAI,iEAAY,MAAhB,IAAI,CAAc,CAAC,IAAI,CACrB,IAAA,kCAAsB,EAAC,uBAAA,IAAI,gCAAQ,CAAC,EACpC,IAAA,gBAAS,EAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAE7B,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,QAAQ,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;aAC5F;YACD,OAAO,KAAK,CAAC,MAAM,CACjB,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE;gBAC9C,GAAG,YAAY,CAAC,MAAM;gBACtB,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE;oBAC9E,GAAG,YAAY,CAAC,OAAO;oBACvB,QAAQ;iBACT,CAAC;aACH,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,EACF,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CACjB,CACF,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAyB;QACrC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAEhE,MAAM,OAAO,GAAG,YAAY,IAAI,2BAAU,CAAC,QAAQ,CAAC;QAEpD,uBAAA,IAAI,gCAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,IAAA,qBAAc,EACnB,uBAAA,IAAI,iEAAY,MAAhB,IAAI,CAAc,CAAC,IAAI,CACrB,IAAA,kCAAsB,EAAC,uBAAA,IAAI,gCAAQ,CAAC,EACpC,IAAA,gBAAS,EAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,4BAAmB,CAAC,YAAY,QAAQ,IAAI,OAAO,IAAI,YAAY,kBAAkB,CAAC,CAAC;aAClG;YACD,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,kBAAU,CAAC,MAAM;gBACjC,MAAM,CAAC,UAAU,CAAC,IAAI,CACpB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CACrG,CACJ,CAAC;YACF,IAAI,eAAe,EAAE;gBACnB,MAAM,IAAI,4BAAmB,CAC3B,WAAW,eAAe,CAAC,QAAQ,yBAAyB,QAAQ,IAAI,OAAO,IAAI,YAAY,GAAG,CACnG,CAAC;aACH;YACD,OAAO,KAAK,CAAC,MAAM,CACjB,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE;gBAC9C,GAAG,YAAY,CAAC,MAAM;gBACtB,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;aAChF,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,EACF,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CACjB,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,QAAkB;QAC7B,uBAAA,IAAI,gCAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAA,qBAAc,EACnB,uBAAA,IAAI,iEAAY,MAAhB,IAAI,CAAc,CAAC,IAAI,CACrB,IAAA,WAAI,EAAC,CAAC,CAAC,EACP,IAAA,kCAAsB,EAAC,uBAAA,IAAI,gCAAQ,CAAC,EACpC,IAAA,gBAAS,EAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YACtE,IAAI,WAAW,GAAG,CAAC,EAAE;gBACnB,MAAM,IAAI,4BAAmB,CAAC,WAAW,QAAQ,kBAAkB,CAAC,CAAC;aACtE;YACD,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,kBAAU,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CACxG,CAAC;YACF,IAAI,eAAe,EAAE;gBACnB,MAAM,IAAI,4BAAmB,CAAC,WAAW,eAAe,CAAC,QAAQ,wBAAwB,QAAQ,GAAG,CAAC,CAAC;aACvG;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,EACF,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CACpB,CACF,CAAC;IACJ,CAAC;CAqBF;AAnPD,4CAmPC;;IArOG,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAGvB,IAAA,WAAI,EAAC,CAAC,CAAC,CACR,CAAC;AACJ,CAAC,uFA8MC,OAAqD,EACrD,UAAsD;IAEtD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,IACE,CAAC,OAAO,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;YACtC,MAAM,CAAC,IAAI,KAAK,kBAAU,CAAC,MAAM;YACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,CAAC,CACrF,EACD;YACA,MAAM,IAAI,4BAAmB,CAC3B,qCAAqC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,YAAY,EAAE,CACpF,CAAC;SACH;KACF;AACH,CAAC"}
|