@bsv/wallet-toolbox-mobile 2.1.10 → 2.1.11
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/out/src/CWIStyleWalletManager.d.ts +57 -5
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +282 -46
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +1 -1
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
- package/out/src/WalletAuthenticationManager.js +41 -31
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/package.json +4 -2
|
@@ -4,6 +4,13 @@ import { PrivilegedKeyManager } from './sdk/PrivilegedKeyManager';
|
|
|
4
4
|
* Number of rounds used in PBKDF2 for deriving password keys.
|
|
5
5
|
*/
|
|
6
6
|
export declare const PBKDF2_NUM_ROUNDS = 7777;
|
|
7
|
+
/**
|
|
8
|
+
* Default Argon2id parameters for password-key derivation (UMP v3).
|
|
9
|
+
*/
|
|
10
|
+
export declare const ARGON2ID_DEFAULT_ITERATIONS = 7;
|
|
11
|
+
export declare const ARGON2ID_DEFAULT_MEMORY_KIB = 131072;
|
|
12
|
+
export declare const ARGON2ID_DEFAULT_PARALLELISM = 1;
|
|
13
|
+
export declare const ARGON2ID_DEFAULT_HASH_LENGTH = 32;
|
|
7
14
|
/**
|
|
8
15
|
* Unique Identifier for the default profile (16 zero bytes).
|
|
9
16
|
*/
|
|
@@ -86,11 +93,51 @@ export interface UMPToken {
|
|
|
86
93
|
* JSON string -> Encrypted Bytes using root privileged key.
|
|
87
94
|
*/
|
|
88
95
|
profilesEncrypted?: number[];
|
|
96
|
+
/**
|
|
97
|
+
* On-chain UMP protocol version (3 for tokens with KDF metadata).
|
|
98
|
+
*/
|
|
99
|
+
umpVersion?: number;
|
|
100
|
+
/**
|
|
101
|
+
* Password-based key derivation function metadata.
|
|
102
|
+
* Present for UMP v3 tokens; absent for legacy tokens.
|
|
103
|
+
*/
|
|
104
|
+
passwordKdf?: {
|
|
105
|
+
algorithm: 'pbkdf2-sha512' | 'argon2id';
|
|
106
|
+
iterations: number;
|
|
107
|
+
memoryKiB?: number;
|
|
108
|
+
parallelism?: number;
|
|
109
|
+
hashLength?: number;
|
|
110
|
+
};
|
|
89
111
|
/**
|
|
90
112
|
* Describes the token's location on-chain, if it's already been published.
|
|
91
113
|
*/
|
|
92
114
|
currentOutpoint?: OutpointString;
|
|
93
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Configuration options for KDF (Key Derivation Function) used in UMP tokens.
|
|
118
|
+
*/
|
|
119
|
+
export interface KdfConfig {
|
|
120
|
+
/**
|
|
121
|
+
* Algorithm to use for new UMP tokens.
|
|
122
|
+
*/
|
|
123
|
+
algorithm?: 'pbkdf2-sha512' | 'argon2id';
|
|
124
|
+
/**
|
|
125
|
+
* Number of iterations/rounds.
|
|
126
|
+
*/
|
|
127
|
+
iterations?: number;
|
|
128
|
+
/**
|
|
129
|
+
* Memory size in KiB (Argon2id only).
|
|
130
|
+
*/
|
|
131
|
+
memoryKiB?: number;
|
|
132
|
+
/**
|
|
133
|
+
* Degree of parallelism (Argon2id only).
|
|
134
|
+
*/
|
|
135
|
+
parallelism?: number;
|
|
136
|
+
/**
|
|
137
|
+
* Hash output length in bytes.
|
|
138
|
+
*/
|
|
139
|
+
hashLength?: number;
|
|
140
|
+
}
|
|
94
141
|
/**
|
|
95
142
|
* Describes a system capable of finding and updating UMP tokens on the blockchain.
|
|
96
143
|
*/
|
|
@@ -276,6 +323,10 @@ export declare class CWIStyleWalletManager implements WalletInterface {
|
|
|
276
323
|
* Privileged key manager associated with the *root* keys, aware of the active profile.
|
|
277
324
|
*/
|
|
278
325
|
private rootPrivilegedKeyManager?;
|
|
326
|
+
/**
|
|
327
|
+
* KDF configuration for new UMP tokens. Defaults to Argon2id for v3 tokens.
|
|
328
|
+
*/
|
|
329
|
+
private kdfConfig;
|
|
279
330
|
/**
|
|
280
331
|
* Constructs a new CWIStyleWalletManager.
|
|
281
332
|
*
|
|
@@ -286,9 +337,10 @@ export declare class CWIStyleWalletManager implements WalletInterface {
|
|
|
286
337
|
* @param passwordRetriever A function to request the user's password.
|
|
287
338
|
* @param newWalletFunder Optional function to fund a new wallet.
|
|
288
339
|
* @param stateSnapshot Optional previously saved state snapshot.
|
|
340
|
+
* @param kdfConfig Optional KDF configuration for new UMP tokens.
|
|
289
341
|
*/
|
|
290
|
-
constructor(adminOriginator: OriginatorDomainNameStringUnder250Bytes, walletBuilder: (profilePrimaryKey: number[], profilePrivilegedKeyManager: PrivilegedKeyManager, profileId: number[]) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean) => Promise<string>, newWalletFunder?: (presentationKey: number[], wallet: WalletInterface, // Default profile wallet
|
|
291
|
-
adminOriginator: OriginatorDomainNameStringUnder250Bytes) => Promise<void>, stateSnapshot?: number[]);
|
|
342
|
+
constructor(adminOriginator: OriginatorDomainNameStringUnder250Bytes, walletBuilder: (profilePrimaryKey: number[], profilePrivilegedKeyManager: PrivilegedKeyManager, profileId: number[]) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean | Promise<boolean>) => Promise<string>, newWalletFunder?: (presentationKey: number[], wallet: WalletInterface, // Default profile wallet
|
|
343
|
+
adminOriginator: OriginatorDomainNameStringUnder250Bytes) => Promise<void>, stateSnapshot?: number[], kdfConfig?: KdfConfig);
|
|
292
344
|
/**
|
|
293
345
|
* Provides the presentation key.
|
|
294
346
|
*/
|
|
@@ -389,12 +441,12 @@ export declare class CWIStyleWalletManager implements WalletInterface {
|
|
|
389
441
|
*/
|
|
390
442
|
private updateAuthFactors;
|
|
391
443
|
/**
|
|
392
|
-
* Serializes a UMP token to binary format (Version 2 with
|
|
393
|
-
* Layout: [1 byte version=
|
|
444
|
+
* Serializes a UMP token to binary format (Version 3 with KDF metadata, Version 2 with profiles).
|
|
445
|
+
* V3 Layout: [1 byte version=3] + [11 * (varint len + bytes) for standard fields] + [1 byte profile_flag] + [IF flag=1 THEN varint len + profile bytes] + [1 byte kdf_flag] + [IF flag=1 THEN kdf metadata] + [varint len + outpoint bytes]
|
|
394
446
|
*/
|
|
395
447
|
private serializeUMPToken;
|
|
396
448
|
/**
|
|
397
|
-
* Deserializes a UMP token from binary format (Handles Version 1 and
|
|
449
|
+
* Deserializes a UMP token from binary format (Handles Version 1, 2, and 3).
|
|
398
450
|
*/
|
|
399
451
|
private deserializeUMPToken;
|
|
400
452
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CWIStyleWalletManager.d.ts","sourceRoot":"","sources":["../../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,uCAAuC,EACvC,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,gCAAgC,EAChC,kCAAkC,EAClC,4BAA4B,EAC5B,8BAA8B,EAC9B,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,cAAc,
|
|
1
|
+
{"version":3,"file":"CWIStyleWalletManager.d.ts","sourceRoot":"","sources":["../../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CWIStyleWalletManager = exports.OverlayUMPTokenInteractor = exports.DEFAULT_PROFILE_ID = exports.PBKDF2_NUM_ROUNDS = void 0;
|
|
3
|
+
exports.CWIStyleWalletManager = exports.OverlayUMPTokenInteractor = exports.DEFAULT_PROFILE_ID = exports.ARGON2ID_DEFAULT_HASH_LENGTH = exports.ARGON2ID_DEFAULT_PARALLELISM = exports.ARGON2ID_DEFAULT_MEMORY_KIB = exports.ARGON2ID_DEFAULT_ITERATIONS = exports.PBKDF2_NUM_ROUNDS = void 0;
|
|
4
4
|
const sdk_1 = require("@bsv/sdk");
|
|
5
|
+
const hash_wasm_1 = require("hash-wasm");
|
|
5
6
|
const PrivilegedKeyManager_1 = require("./sdk/PrivilegedKeyManager");
|
|
6
7
|
/**
|
|
7
8
|
* Number of rounds used in PBKDF2 for deriving password keys.
|
|
8
9
|
*/
|
|
9
10
|
exports.PBKDF2_NUM_ROUNDS = 7777;
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
-
|
|
12
|
+
* Default Argon2id parameters for password-key derivation (UMP v3).
|
|
13
|
+
*/
|
|
14
|
+
exports.ARGON2ID_DEFAULT_ITERATIONS = 7;
|
|
15
|
+
exports.ARGON2ID_DEFAULT_MEMORY_KIB = 131072;
|
|
16
|
+
exports.ARGON2ID_DEFAULT_PARALLELISM = 1;
|
|
17
|
+
exports.ARGON2ID_DEFAULT_HASH_LENGTH = 32;
|
|
18
|
+
function isLikelyDerSignatureField(field) {
|
|
19
|
+
if (!field || field.length < 8 || field.length > 80) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (field[0] !== 0x30) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const declaredLen = field[1];
|
|
26
|
+
return declaredLen === field.length - 2;
|
|
27
|
+
}
|
|
28
|
+
function stripVerifiedPushDropSignature(fields, lockingPublicKey) {
|
|
29
|
+
if (fields.length <= 11) {
|
|
30
|
+
return fields;
|
|
31
|
+
}
|
|
32
|
+
const protocolFieldCount = fields.length - 1;
|
|
33
|
+
const trailingField = fields[protocolFieldCount];
|
|
34
|
+
if (!trailingField || !isLikelyDerSignatureField(trailingField)) {
|
|
35
|
+
return fields;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
let dataLength = 0;
|
|
39
|
+
for (let i = 0; i < protocolFieldCount; i++) {
|
|
40
|
+
dataLength += fields[i].length;
|
|
41
|
+
}
|
|
42
|
+
const dataToVerify = new Array(dataLength);
|
|
43
|
+
let writeOffset = 0;
|
|
44
|
+
for (let i = 0; i < protocolFieldCount; i++) {
|
|
45
|
+
const field = fields[i];
|
|
46
|
+
for (let j = 0; j < field.length; j++) {
|
|
47
|
+
dataToVerify[writeOffset++] = field[j];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const signature = sdk_1.Signature.fromDER(trailingField);
|
|
51
|
+
if (signature.verify(dataToVerify, lockingPublicKey)) {
|
|
52
|
+
return fields.slice(0, protocolFieldCount);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (_a) {
|
|
56
|
+
return fields;
|
|
57
|
+
}
|
|
58
|
+
return fields;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* PBKDF-2 that prefers WebCrypto and falls back to hash-wasm.
|
|
13
62
|
*
|
|
14
63
|
* @param passwordBytes Raw password bytes.
|
|
15
64
|
* @param salt Salt bytes.
|
|
@@ -18,7 +67,7 @@ exports.PBKDF2_NUM_ROUNDS = 7777;
|
|
|
18
67
|
* @param hash Digest algorithm (default "sha512").
|
|
19
68
|
* @returns Derived key bytes.
|
|
20
69
|
*/
|
|
21
|
-
async function
|
|
70
|
+
async function pbkdf2NativeOrWasm(passwordBytes, salt, iterations, keyLen, hash = 'sha512') {
|
|
22
71
|
var _a;
|
|
23
72
|
// ----- fast-path: WebCrypto (both browser & recent Node expose globalThis.crypto.subtle)
|
|
24
73
|
const subtle = (_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.crypto) === null || _a === void 0 ? void 0 : _a.subtle;
|
|
@@ -39,8 +88,52 @@ async function pbkdf2NativeOrJs(passwordBytes, salt, iterations, keyLen, hash =
|
|
|
39
88
|
/* fall through */
|
|
40
89
|
}
|
|
41
90
|
}
|
|
42
|
-
|
|
43
|
-
|
|
91
|
+
const hashFunction = hash === 'sha256' ? (0, hash_wasm_1.createSHA256)() : (0, hash_wasm_1.createSHA512)();
|
|
92
|
+
const derived = await (0, hash_wasm_1.pbkdf2)({
|
|
93
|
+
password: new Uint8Array(passwordBytes),
|
|
94
|
+
salt: new Uint8Array(salt),
|
|
95
|
+
iterations,
|
|
96
|
+
hashLength: keyLen,
|
|
97
|
+
hashFunction,
|
|
98
|
+
outputType: 'binary'
|
|
99
|
+
});
|
|
100
|
+
return Array.from(derived);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Derives the password key from a password using the KDF specified in the UMP token.
|
|
104
|
+
* For legacy tokens (no KDF metadata), uses PBKDF2 with fixed rounds (7777).
|
|
105
|
+
* For v3 tokens, uses the algorithm specified in passwordKdf metadata.
|
|
106
|
+
*
|
|
107
|
+
* @param token The UMP token containing KDF metadata and salt.
|
|
108
|
+
* @param passwordBytes Raw password bytes.
|
|
109
|
+
* @param overrideKdf Optional KDF config to override token/default settings.
|
|
110
|
+
* @returns Derived password key bytes.
|
|
111
|
+
*/
|
|
112
|
+
async function derivePasswordKey(token, passwordBytes, overrideKdf) {
|
|
113
|
+
var _a, _b, _c, _d, _e;
|
|
114
|
+
const kdf = overrideKdf || token.passwordKdf;
|
|
115
|
+
// Legacy token or explicit PBKDF2 request
|
|
116
|
+
if (!kdf || kdf.algorithm === 'pbkdf2-sha512') {
|
|
117
|
+
return pbkdf2NativeOrWasm(passwordBytes, token.passwordSalt, (_a = kdf === null || kdf === void 0 ? void 0 : kdf.iterations) !== null && _a !== void 0 ? _a : exports.PBKDF2_NUM_ROUNDS, 32, 'sha512');
|
|
118
|
+
}
|
|
119
|
+
// Argon2id path (UMP v3)
|
|
120
|
+
if (kdf.algorithm === 'argon2id') {
|
|
121
|
+
const iterations = (_b = kdf.iterations) !== null && _b !== void 0 ? _b : exports.ARGON2ID_DEFAULT_ITERATIONS;
|
|
122
|
+
const memorySize = (_c = kdf.memoryKiB) !== null && _c !== void 0 ? _c : exports.ARGON2ID_DEFAULT_MEMORY_KIB;
|
|
123
|
+
const parallelism = (_d = kdf.parallelism) !== null && _d !== void 0 ? _d : exports.ARGON2ID_DEFAULT_PARALLELISM;
|
|
124
|
+
const hashLength = (_e = kdf.hashLength) !== null && _e !== void 0 ? _e : exports.ARGON2ID_DEFAULT_HASH_LENGTH;
|
|
125
|
+
const hash = await (0, hash_wasm_1.argon2id)({
|
|
126
|
+
password: new Uint8Array(passwordBytes),
|
|
127
|
+
salt: new Uint8Array(token.passwordSalt),
|
|
128
|
+
iterations,
|
|
129
|
+
memorySize,
|
|
130
|
+
parallelism,
|
|
131
|
+
hashLength,
|
|
132
|
+
outputType: 'binary'
|
|
133
|
+
});
|
|
134
|
+
return Array.from(hash);
|
|
135
|
+
}
|
|
136
|
+
throw new Error(`Unsupported KDF algorithm: ${kdf.algorithm}`);
|
|
44
137
|
}
|
|
45
138
|
/**
|
|
46
139
|
* Unique Identifier for the default profile (16 zero bytes).
|
|
@@ -127,11 +220,32 @@ class OverlayUMPTokenInteractor {
|
|
|
127
220
|
fields[8] = token.presentationKeyEncrypted;
|
|
128
221
|
fields[9] = token.passwordKeyEncrypted;
|
|
129
222
|
fields[10] = token.recoveryKeyEncrypted;
|
|
130
|
-
// Optional field
|
|
223
|
+
// Optional field for encrypted profiles
|
|
131
224
|
if (token.profilesEncrypted) {
|
|
132
225
|
fields[11] = token.profilesEncrypted;
|
|
133
226
|
}
|
|
227
|
+
// V3 fields: umpVersion, kdfAlgorithm, kdfParams
|
|
228
|
+
if (token.umpVersion === 3 && token.passwordKdf) {
|
|
229
|
+
const versionFieldIndex = token.profilesEncrypted ? 12 : 11;
|
|
230
|
+
fields[versionFieldIndex] = [token.umpVersion]; // Single byte
|
|
231
|
+
fields[versionFieldIndex + 1] = sdk_1.Utils.toArray(token.passwordKdf.algorithm, 'utf8');
|
|
232
|
+
// Construct kdfParams JSON
|
|
233
|
+
const kdfParams = {
|
|
234
|
+
iterations: token.passwordKdf.iterations
|
|
235
|
+
};
|
|
236
|
+
if (token.passwordKdf.memoryKiB !== undefined) {
|
|
237
|
+
kdfParams.memoryKiB = token.passwordKdf.memoryKiB;
|
|
238
|
+
}
|
|
239
|
+
if (token.passwordKdf.parallelism !== undefined) {
|
|
240
|
+
kdfParams.parallelism = token.passwordKdf.parallelism;
|
|
241
|
+
}
|
|
242
|
+
if (token.passwordKdf.hashLength !== undefined) {
|
|
243
|
+
kdfParams.hashLength = token.passwordKdf.hashLength;
|
|
244
|
+
}
|
|
245
|
+
fields[versionFieldIndex + 2] = sdk_1.Utils.toArray(JSON.stringify(kdfParams), 'utf8');
|
|
246
|
+
}
|
|
134
247
|
// 2) Create a PushDrop script referencing these fields, locked with the admin key.
|
|
248
|
+
// The signature will be added as trailing metadata by PushDrop (not part of protocol fields).
|
|
135
249
|
const script = await new sdk_1.PushDrop(wallet, adminOriginator).lock(fields, [2, 'admin user management token'], // protocolID
|
|
136
250
|
'1', // keyID
|
|
137
251
|
'self', // counterparty
|
|
@@ -257,7 +371,7 @@ class OverlayUMPTokenInteractor {
|
|
|
257
371
|
* @returns The parsed UMPToken or `undefined` if none found/decodable.
|
|
258
372
|
*/
|
|
259
373
|
parseLookupAnswer(answer) {
|
|
260
|
-
var _a;
|
|
374
|
+
var _a, _b, _c;
|
|
261
375
|
if (answer.type !== 'output-list') {
|
|
262
376
|
return undefined;
|
|
263
377
|
}
|
|
@@ -274,23 +388,60 @@ class OverlayUMPTokenInteractor {
|
|
|
274
388
|
console.warn(`Unexpected number of fields in UMP token: ${(_a = decoded.fields) === null || _a === void 0 ? void 0 : _a.length}`);
|
|
275
389
|
return undefined;
|
|
276
390
|
}
|
|
391
|
+
// Parse protocol fields, excluding the trailing PushDrop signature only when
|
|
392
|
+
// it is cryptographically valid for the preceding field payload.
|
|
393
|
+
let protocolFields = stripVerifiedPushDropSignature(decoded.fields, decoded.lockingPublicKey);
|
|
394
|
+
// Detect v3 token metadata in either layout:
|
|
395
|
+
// - with profilesEncrypted present: [0..10]=core, [11]=profiles, [12]=version, [13]=algorithm, [14]=params
|
|
396
|
+
// - without profilesEncrypted: [0..10]=core, [11]=version, [12]=algorithm, [13]=params
|
|
397
|
+
const hasV3MetadataWithProfiles = protocolFields.length >= 15 && ((_b = protocolFields[12]) === null || _b === void 0 ? void 0 : _b.length) === 1 && protocolFields[12][0] === 3;
|
|
398
|
+
const hasV3MetadataWithoutProfiles = protocolFields.length >= 14 && ((_c = protocolFields[11]) === null || _c === void 0 ? void 0 : _c.length) === 1 && protocolFields[11][0] === 3;
|
|
399
|
+
const kdfVersionFieldIndex = hasV3MetadataWithProfiles ? 12 : hasV3MetadataWithoutProfiles ? 11 : -1;
|
|
277
400
|
// Build the UMP token from these fields, preserving outpoint
|
|
278
401
|
const t = {
|
|
279
|
-
//
|
|
280
|
-
passwordSalt:
|
|
281
|
-
passwordPresentationPrimary:
|
|
282
|
-
passwordRecoveryPrimary:
|
|
283
|
-
presentationRecoveryPrimary:
|
|
284
|
-
passwordPrimaryPrivileged:
|
|
285
|
-
presentationRecoveryPrivileged:
|
|
286
|
-
presentationHash:
|
|
287
|
-
recoveryHash:
|
|
288
|
-
presentationKeyEncrypted:
|
|
289
|
-
passwordKeyEncrypted:
|
|
290
|
-
recoveryKeyEncrypted:
|
|
291
|
-
profilesEncrypted: decoded.fields[12] ? decoded.fields[11] : undefined, // If there's a signature in field 12, use field 11
|
|
402
|
+
// Core fields (unchanged for all versions)
|
|
403
|
+
passwordSalt: protocolFields[0],
|
|
404
|
+
passwordPresentationPrimary: protocolFields[1],
|
|
405
|
+
passwordRecoveryPrimary: protocolFields[2],
|
|
406
|
+
presentationRecoveryPrimary: protocolFields[3],
|
|
407
|
+
passwordPrimaryPrivileged: protocolFields[4],
|
|
408
|
+
presentationRecoveryPrivileged: protocolFields[5],
|
|
409
|
+
presentationHash: protocolFields[6],
|
|
410
|
+
recoveryHash: protocolFields[7],
|
|
411
|
+
presentationKeyEncrypted: protocolFields[8],
|
|
412
|
+
passwordKeyEncrypted: protocolFields[9],
|
|
413
|
+
recoveryKeyEncrypted: protocolFields[10],
|
|
292
414
|
currentOutpoint: outpoint
|
|
293
415
|
};
|
|
416
|
+
// Encrypted profiles (optional, all versions)
|
|
417
|
+
const hasProfilesField = hasV3MetadataWithProfiles || (!hasV3MetadataWithoutProfiles && !!protocolFields[11]);
|
|
418
|
+
if (hasProfilesField && protocolFields[11] && protocolFields[11].length > 0) {
|
|
419
|
+
t.profilesEncrypted = protocolFields[11];
|
|
420
|
+
}
|
|
421
|
+
// V3 fields: umpVersion, kdfAlgorithm, kdfParams (fields 12, 13, 14)
|
|
422
|
+
if (kdfVersionFieldIndex !== -1) {
|
|
423
|
+
t.umpVersion = protocolFields[kdfVersionFieldIndex][0]; // Single byte value 3
|
|
424
|
+
const kdfAlgorithmField = protocolFields[kdfVersionFieldIndex + 1];
|
|
425
|
+
const kdfParamsField = protocolFields[kdfVersionFieldIndex + 2];
|
|
426
|
+
if (!kdfAlgorithmField || !kdfParamsField) {
|
|
427
|
+
return t;
|
|
428
|
+
}
|
|
429
|
+
const kdfAlgorithm = sdk_1.Utils.toUTF8(kdfAlgorithmField);
|
|
430
|
+
const kdfParamsJson = sdk_1.Utils.toUTF8(kdfParamsField);
|
|
431
|
+
try {
|
|
432
|
+
const kdfParams = JSON.parse(kdfParamsJson);
|
|
433
|
+
t.passwordKdf = {
|
|
434
|
+
algorithm: kdfAlgorithm,
|
|
435
|
+
iterations: kdfParams.iterations,
|
|
436
|
+
memoryKiB: kdfParams.memoryKiB,
|
|
437
|
+
parallelism: kdfParams.parallelism,
|
|
438
|
+
hashLength: kdfParams.hashLength
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
catch (e) {
|
|
442
|
+
console.warn('Failed to parse v3 KDF params:', e);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
294
445
|
return t;
|
|
295
446
|
}
|
|
296
447
|
catch (e) {
|
|
@@ -336,8 +487,10 @@ class CWIStyleWalletManager {
|
|
|
336
487
|
* @param passwordRetriever A function to request the user's password.
|
|
337
488
|
* @param newWalletFunder Optional function to fund a new wallet.
|
|
338
489
|
* @param stateSnapshot Optional previously saved state snapshot.
|
|
490
|
+
* @param kdfConfig Optional KDF configuration for new UMP tokens.
|
|
339
491
|
*/
|
|
340
|
-
constructor(adminOriginator, walletBuilder, interactor = new OverlayUMPTokenInteractor(), recoveryKeySaver, passwordRetriever, newWalletFunder, stateSnapshot) {
|
|
492
|
+
constructor(adminOriginator, walletBuilder, interactor = new OverlayUMPTokenInteractor(), recoveryKeySaver, passwordRetriever, newWalletFunder, stateSnapshot, kdfConfig) {
|
|
493
|
+
var _a, _b, _c, _d, _e;
|
|
341
494
|
/**
|
|
342
495
|
* Current mode of authentication.
|
|
343
496
|
*/
|
|
@@ -361,6 +514,14 @@ class CWIStyleWalletManager {
|
|
|
361
514
|
this.passwordRetriever = passwordRetriever;
|
|
362
515
|
this.authenticated = false;
|
|
363
516
|
this.newWalletFunder = newWalletFunder;
|
|
517
|
+
// Initialize KDF config with Argon2id defaults for v3 tokens
|
|
518
|
+
this.kdfConfig = {
|
|
519
|
+
algorithm: (_a = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.algorithm) !== null && _a !== void 0 ? _a : 'argon2id',
|
|
520
|
+
iterations: (_b = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.iterations) !== null && _b !== void 0 ? _b : exports.ARGON2ID_DEFAULT_ITERATIONS,
|
|
521
|
+
memoryKiB: (_c = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.memoryKiB) !== null && _c !== void 0 ? _c : exports.ARGON2ID_DEFAULT_MEMORY_KIB,
|
|
522
|
+
parallelism: (_d = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.parallelism) !== null && _d !== void 0 ? _d : exports.ARGON2ID_DEFAULT_PARALLELISM,
|
|
523
|
+
hashLength: (_e = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.hashLength) !== null && _e !== void 0 ? _e : exports.ARGON2ID_DEFAULT_HASH_LENGTH
|
|
524
|
+
};
|
|
364
525
|
// If a saved snapshot is provided, attempt to load it.
|
|
365
526
|
// Note: loadSnapshot now returns a promise. We don't await it here,
|
|
366
527
|
// as the constructor must be synchronous. The caller should check
|
|
@@ -413,7 +574,8 @@ class CWIStyleWalletManager {
|
|
|
413
574
|
if (!this.currentUMPToken) {
|
|
414
575
|
throw new Error('Provide presentation or recovery key first.');
|
|
415
576
|
}
|
|
416
|
-
|
|
577
|
+
// Use token-driven KDF (legacy PBKDF2 or v3 Argon2id)
|
|
578
|
+
const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(password, 'utf8'));
|
|
417
579
|
let rootPrimaryKey;
|
|
418
580
|
let rootPrivilegedKey; // Only needed for recovery mode
|
|
419
581
|
if (this.authenticationMode === 'presentation-key-and-password') {
|
|
@@ -447,7 +609,12 @@ class CWIStyleWalletManager {
|
|
|
447
609
|
const recoveryKey = (0, sdk_1.Random)(32);
|
|
448
610
|
await this.recoveryKeySaver(recoveryKey);
|
|
449
611
|
const passwordSalt = (0, sdk_1.Random)(32);
|
|
450
|
-
|
|
612
|
+
// Build temporary token with KDF config for password derivation
|
|
613
|
+
const tempTokenForKdf = {
|
|
614
|
+
passwordSalt,
|
|
615
|
+
passwordKdf: this.kdfConfig
|
|
616
|
+
};
|
|
617
|
+
const passwordKey = await derivePasswordKey(tempTokenForKdf, sdk_1.Utils.toArray(password, 'utf8'));
|
|
451
618
|
const rootPrimaryKey = (0, sdk_1.Random)(32);
|
|
452
619
|
const rootPrivilegedKey = (0, sdk_1.Random)(32);
|
|
453
620
|
// Build XOR keys
|
|
@@ -457,7 +624,7 @@ class CWIStyleWalletManager {
|
|
|
457
624
|
const primaryPassword = new sdk_1.SymmetricKey(this.XOR(rootPrimaryKey, passwordKey));
|
|
458
625
|
// Temp manager for encryption
|
|
459
626
|
const tempPrivilegedKeyManager = new PrivilegedKeyManager_1.PrivilegedKeyManager(async () => new sdk_1.PrivateKey(rootPrivilegedKey));
|
|
460
|
-
// Build new UMP token (no profiles initially)
|
|
627
|
+
// Build new UMP token (v3 with KDF metadata, no profiles initially)
|
|
461
628
|
const newToken = {
|
|
462
629
|
passwordSalt,
|
|
463
630
|
passwordPresentationPrimary: presentationPassword.encrypt(rootPrimaryKey),
|
|
@@ -482,7 +649,9 @@ class CWIStyleWalletManager {
|
|
|
482
649
|
protocolID: [2, 'admin key wrapping'],
|
|
483
650
|
keyID: '1'
|
|
484
651
|
})).ciphertext,
|
|
485
|
-
profilesEncrypted: undefined // No profiles yet
|
|
652
|
+
profilesEncrypted: undefined, // No profiles yet
|
|
653
|
+
umpVersion: 3, // UMP protocol version 3
|
|
654
|
+
passwordKdf: this.kdfConfig // KDF metadata for v3
|
|
486
655
|
};
|
|
487
656
|
this.currentUMPToken = newToken;
|
|
488
657
|
// Setup root infrastructure and switch to default profile
|
|
@@ -495,7 +664,8 @@ class CWIStyleWalletManager {
|
|
|
495
664
|
}
|
|
496
665
|
catch (e) {
|
|
497
666
|
console.error('Error funding new wallet:', e);
|
|
498
|
-
|
|
667
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
668
|
+
throw new Error(`Failed to fund new wallet before publishing UMP token: ${message}`);
|
|
499
669
|
}
|
|
500
670
|
}
|
|
501
671
|
// Publish the new UMP token *after* potentially funding
|
|
@@ -803,11 +973,18 @@ class CWIStyleWalletManager {
|
|
|
803
973
|
* Changes the user's password. Re-wraps keys and updates the UMP token.
|
|
804
974
|
*/
|
|
805
975
|
async changePassword(newPassword) {
|
|
976
|
+
var _a;
|
|
806
977
|
if (!this.authenticated || !this.currentUMPToken || !this.rootPrimaryKey || !this.rootPrivilegedKeyManager) {
|
|
807
978
|
throw new Error('Not authenticated or missing required data.');
|
|
808
979
|
}
|
|
809
980
|
const passwordSalt = (0, sdk_1.Random)(32);
|
|
810
|
-
|
|
981
|
+
// Preserve current token's KDF metadata (or use manager's kdfConfig for legacy tokens)
|
|
982
|
+
const kdfToUse = (_a = this.currentUMPToken.passwordKdf) !== null && _a !== void 0 ? _a : this.kdfConfig;
|
|
983
|
+
const tempTokenForKdf = {
|
|
984
|
+
passwordSalt,
|
|
985
|
+
passwordKdf: kdfToUse
|
|
986
|
+
};
|
|
987
|
+
const newPasswordKey = await derivePasswordKey(tempTokenForKdf, sdk_1.Utils.toArray(newPassword, 'utf8'));
|
|
811
988
|
// Decrypt existing factors needed for re-encryption, using the *root* privileged key manager
|
|
812
989
|
const recoveryKey = await this.getFactor('recoveryKey');
|
|
813
990
|
const presentationKey = await this.getFactor('presentationKey');
|
|
@@ -936,6 +1113,7 @@ class CWIStyleWalletManager {
|
|
|
936
1113
|
async updateAuthFactors(passwordSalt, passwordKey, presentationKey, recoveryKey, rootPrimaryKey, rootPrivilegedKey, // Explicitly pass the root key bytes
|
|
937
1114
|
profiles // Pass current/new profiles list
|
|
938
1115
|
) {
|
|
1116
|
+
var _a;
|
|
939
1117
|
if (!this.authenticated || !this.rootPrimaryKey || !this.currentUMPToken) {
|
|
940
1118
|
throw new Error('Wallet is not properly authenticated or missing data for update.');
|
|
941
1119
|
}
|
|
@@ -958,7 +1136,8 @@ class CWIStyleWalletManager {
|
|
|
958
1136
|
const profilesBytes = sdk_1.Utils.toArray(profilesJson, 'utf8');
|
|
959
1137
|
profilesEncrypted = new sdk_1.SymmetricKey(rootPrimaryKey).encrypt(profilesBytes);
|
|
960
1138
|
}
|
|
961
|
-
// Construct the new UMP token data
|
|
1139
|
+
// Construct the new UMP token data (preserve or upgrade to v3 with KDF metadata)
|
|
1140
|
+
const kdfMetadata = (_a = this.currentUMPToken.passwordKdf) !== null && _a !== void 0 ? _a : this.kdfConfig;
|
|
962
1141
|
const newTokenData = {
|
|
963
1142
|
passwordSalt,
|
|
964
1143
|
passwordPresentationPrimary: presentationPassword.encrypt(rootPrimaryKey),
|
|
@@ -983,7 +1162,9 @@ class CWIStyleWalletManager {
|
|
|
983
1162
|
protocolID: [2, 'admin key wrapping'],
|
|
984
1163
|
keyID: '1'
|
|
985
1164
|
})).ciphertext,
|
|
986
|
-
profilesEncrypted // Add encrypted profiles
|
|
1165
|
+
profilesEncrypted, // Add encrypted profiles
|
|
1166
|
+
umpVersion: 3, // UMP protocol version 3
|
|
1167
|
+
passwordKdf: kdfMetadata // Preserve or upgrade KDF metadata
|
|
987
1168
|
// currentOutpoint will be set after publishing
|
|
988
1169
|
};
|
|
989
1170
|
// We need the wallet built for the DEFAULT profile to publish the UMP token.
|
|
@@ -1015,15 +1196,16 @@ class CWIStyleWalletManager {
|
|
|
1015
1196
|
}
|
|
1016
1197
|
}
|
|
1017
1198
|
/**
|
|
1018
|
-
* Serializes a UMP token to binary format (Version 2 with
|
|
1019
|
-
* Layout: [1 byte version=
|
|
1199
|
+
* Serializes a UMP token to binary format (Version 3 with KDF metadata, Version 2 with profiles).
|
|
1200
|
+
* V3 Layout: [1 byte version=3] + [11 * (varint len + bytes) for standard fields] + [1 byte profile_flag] + [IF flag=1 THEN varint len + profile bytes] + [1 byte kdf_flag] + [IF flag=1 THEN kdf metadata] + [varint len + outpoint bytes]
|
|
1020
1201
|
*/
|
|
1021
1202
|
serializeUMPToken(token) {
|
|
1022
1203
|
if (!token.currentOutpoint) {
|
|
1023
1204
|
throw new Error('Token must have outpoint for serialization');
|
|
1024
1205
|
}
|
|
1025
1206
|
const writer = new sdk_1.Utils.Writer();
|
|
1026
|
-
|
|
1207
|
+
const hasKdfMetadata = token.umpVersion === 3 && token.passwordKdf;
|
|
1208
|
+
writer.writeUInt8(hasKdfMetadata ? 3 : 2); // Version 3 for KDF, 2 for legacy
|
|
1027
1209
|
const writeArray = (arr) => {
|
|
1028
1210
|
writer.writeVarIntNum(arr.length);
|
|
1029
1211
|
writer.write(arr);
|
|
@@ -1038,7 +1220,7 @@ class CWIStyleWalletManager {
|
|
|
1038
1220
|
writeArray(token.presentationHash); // 6
|
|
1039
1221
|
writeArray(token.recoveryHash); // 7
|
|
1040
1222
|
writeArray(token.presentationKeyEncrypted); // 8
|
|
1041
|
-
writeArray(token.passwordKeyEncrypted); // 9
|
|
1223
|
+
writeArray(token.passwordKeyEncrypted); // 9
|
|
1042
1224
|
writeArray(token.recoveryKeyEncrypted); // 10
|
|
1043
1225
|
// Write optional profiles field
|
|
1044
1226
|
if (token.profilesEncrypted && token.profilesEncrypted.length > 0) {
|
|
@@ -1048,6 +1230,32 @@ class CWIStyleWalletManager {
|
|
|
1048
1230
|
else {
|
|
1049
1231
|
writer.writeUInt8(0); // Flag indicating no profiles
|
|
1050
1232
|
}
|
|
1233
|
+
// V3: Write KDF metadata
|
|
1234
|
+
if (hasKdfMetadata) {
|
|
1235
|
+
writer.writeUInt8(1); // Flag indicating KDF metadata present
|
|
1236
|
+
writer.writeUInt8(token.umpVersion); // On-chain UMP version
|
|
1237
|
+
const algorithmBytes = sdk_1.Utils.toArray(token.passwordKdf.algorithm, 'utf8');
|
|
1238
|
+
writeArray(algorithmBytes);
|
|
1239
|
+
// Serialize KDF params as JSON
|
|
1240
|
+
const kdfParams = {
|
|
1241
|
+
iterations: token.passwordKdf.iterations
|
|
1242
|
+
};
|
|
1243
|
+
if (token.passwordKdf.memoryKiB !== undefined) {
|
|
1244
|
+
kdfParams.memoryKiB = token.passwordKdf.memoryKiB;
|
|
1245
|
+
}
|
|
1246
|
+
if (token.passwordKdf.parallelism !== undefined) {
|
|
1247
|
+
kdfParams.parallelism = token.passwordKdf.parallelism;
|
|
1248
|
+
}
|
|
1249
|
+
if (token.passwordKdf.hashLength !== undefined) {
|
|
1250
|
+
kdfParams.hashLength = token.passwordKdf.hashLength;
|
|
1251
|
+
}
|
|
1252
|
+
const kdfParamsBytes = sdk_1.Utils.toArray(JSON.stringify(kdfParams), 'utf8');
|
|
1253
|
+
writeArray(kdfParamsBytes);
|
|
1254
|
+
}
|
|
1255
|
+
else if (writer.toArray()[0] === 3) {
|
|
1256
|
+
// Version 3 without KDF metadata (shouldn't happen, but handle gracefully)
|
|
1257
|
+
writer.writeUInt8(0); // Flag indicating no KDF metadata
|
|
1258
|
+
}
|
|
1051
1259
|
// Write outpoint string
|
|
1052
1260
|
const outpointBytes = sdk_1.Utils.toArray(token.currentOutpoint, 'utf8');
|
|
1053
1261
|
writer.writeVarIntNum(outpointBytes.length);
|
|
@@ -1055,19 +1263,19 @@ class CWIStyleWalletManager {
|
|
|
1055
1263
|
return writer.toArray();
|
|
1056
1264
|
}
|
|
1057
1265
|
/**
|
|
1058
|
-
* Deserializes a UMP token from binary format (Handles Version 1 and
|
|
1266
|
+
* Deserializes a UMP token from binary format (Handles Version 1, 2, and 3).
|
|
1059
1267
|
*/
|
|
1060
1268
|
deserializeUMPToken(bin) {
|
|
1061
1269
|
const reader = new sdk_1.Utils.Reader(bin);
|
|
1062
1270
|
const version = reader.readUInt8();
|
|
1063
|
-
if (version !== 1 && version !== 2) {
|
|
1271
|
+
if (version !== 1 && version !== 2 && version !== 3) {
|
|
1064
1272
|
throw new Error(`Unsupported UMP token serialization version: ${version}`);
|
|
1065
1273
|
}
|
|
1066
1274
|
const readArray = () => {
|
|
1067
1275
|
const length = reader.readVarIntNum();
|
|
1068
1276
|
return reader.read(length);
|
|
1069
1277
|
};
|
|
1070
|
-
// Read standard fields (order matches serialization
|
|
1278
|
+
// Read standard fields (order matches serialization)
|
|
1071
1279
|
const passwordSalt = readArray(); // 0
|
|
1072
1280
|
const passwordPresentationPrimary = readArray(); // 1
|
|
1073
1281
|
const passwordRecoveryPrimary = readArray(); // 2
|
|
@@ -1079,14 +1287,40 @@ class CWIStyleWalletManager {
|
|
|
1079
1287
|
const presentationKeyEncrypted = readArray(); // 8
|
|
1080
1288
|
const passwordKeyEncrypted = readArray(); // 9
|
|
1081
1289
|
const recoveryKeyEncrypted = readArray(); // 10
|
|
1082
|
-
// Read optional profiles (
|
|
1290
|
+
// Read optional profiles (V2 and V3)
|
|
1083
1291
|
let profilesEncrypted;
|
|
1084
|
-
if (version
|
|
1292
|
+
if (version >= 2) {
|
|
1085
1293
|
const profilesFlag = reader.readUInt8();
|
|
1086
1294
|
if (profilesFlag === 1) {
|
|
1087
1295
|
profilesEncrypted = readArray();
|
|
1088
1296
|
}
|
|
1089
1297
|
}
|
|
1298
|
+
// Read KDF metadata (V3 only)
|
|
1299
|
+
let umpVersion;
|
|
1300
|
+
let passwordKdf;
|
|
1301
|
+
if (version === 3) {
|
|
1302
|
+
const kdfFlag = reader.readUInt8();
|
|
1303
|
+
if (kdfFlag === 1) {
|
|
1304
|
+
umpVersion = reader.readUInt8(); // On-chain UMP version
|
|
1305
|
+
const algorithmBytes = readArray();
|
|
1306
|
+
const algorithm = sdk_1.Utils.toUTF8(algorithmBytes);
|
|
1307
|
+
const kdfParamsBytes = readArray();
|
|
1308
|
+
const kdfParamsJson = sdk_1.Utils.toUTF8(kdfParamsBytes);
|
|
1309
|
+
try {
|
|
1310
|
+
const kdfParams = JSON.parse(kdfParamsJson);
|
|
1311
|
+
passwordKdf = {
|
|
1312
|
+
algorithm,
|
|
1313
|
+
iterations: kdfParams.iterations,
|
|
1314
|
+
memoryKiB: kdfParams.memoryKiB,
|
|
1315
|
+
parallelism: kdfParams.parallelism,
|
|
1316
|
+
hashLength: kdfParams.hashLength
|
|
1317
|
+
};
|
|
1318
|
+
}
|
|
1319
|
+
catch (e) {
|
|
1320
|
+
console.warn('Failed to parse KDF params during deserialization:', e);
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1090
1324
|
// Read outpoint string
|
|
1091
1325
|
const outpointLen = reader.readVarIntNum();
|
|
1092
1326
|
const outpointBytes = reader.read(outpointLen);
|
|
@@ -1101,10 +1335,12 @@ class CWIStyleWalletManager {
|
|
|
1101
1335
|
presentationHash,
|
|
1102
1336
|
recoveryHash,
|
|
1103
1337
|
presentationKeyEncrypted,
|
|
1104
|
-
passwordKeyEncrypted,
|
|
1338
|
+
passwordKeyEncrypted,
|
|
1105
1339
|
recoveryKeyEncrypted,
|
|
1106
|
-
profilesEncrypted,
|
|
1107
|
-
currentOutpoint
|
|
1340
|
+
profilesEncrypted,
|
|
1341
|
+
currentOutpoint,
|
|
1342
|
+
umpVersion,
|
|
1343
|
+
passwordKdf
|
|
1108
1344
|
};
|
|
1109
1345
|
return token;
|
|
1110
1346
|
}
|
|
@@ -1134,9 +1370,9 @@ class CWIStyleWalletManager {
|
|
|
1134
1370
|
return tempKey;
|
|
1135
1371
|
}
|
|
1136
1372
|
// 2. Otherwise, derive from password
|
|
1137
|
-
const password = await this.passwordRetriever(reason, (passwordCandidate) => {
|
|
1373
|
+
const password = await this.passwordRetriever(reason, async (passwordCandidate) => {
|
|
1138
1374
|
try {
|
|
1139
|
-
const derivedPasswordKey =
|
|
1375
|
+
const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(passwordCandidate, 'utf8'));
|
|
1140
1376
|
const privilegedDecryptor = this.XOR(this.rootPrimaryKey, derivedPasswordKey);
|
|
1141
1377
|
const decryptedPrivileged = new sdk_1.SymmetricKey(privilegedDecryptor).decrypt(this.currentUMPToken.passwordPrimaryPrivileged);
|
|
1142
1378
|
return !!decryptedPrivileged; // Test passes if decryption works
|
|
@@ -1145,8 +1381,8 @@ class CWIStyleWalletManager {
|
|
|
1145
1381
|
return false;
|
|
1146
1382
|
}
|
|
1147
1383
|
});
|
|
1148
|
-
// Decrypt the root privileged key using the confirmed password
|
|
1149
|
-
const derivedPasswordKey = await
|
|
1384
|
+
// Decrypt the root privileged key using the confirmed password (with token-driven KDF)
|
|
1385
|
+
const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(password, 'utf8'));
|
|
1150
1386
|
const privilegedDecryptor = this.XOR(this.rootPrimaryKey, derivedPasswordKey);
|
|
1151
1387
|
const rootPrivilegedBytes = new sdk_1.SymmetricKey(privilegedDecryptor).decrypt(this.currentUMPToken.passwordPrimaryPrivileged);
|
|
1152
1388
|
return new sdk_1.PrivateKey(rootPrivilegedBytes); // Return the ROOT key object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CWIStyleWalletManager.js","sourceRoot":"","sources":["../../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CWIStyleWalletManager.js","sourceRoot":"","sources":["../../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":";;;AAAA,kCAiEiB;AACjB,yCAAwE;AACxE,qEAAiE;AAEjE;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAI,CAAA;AAErC;;GAEG;AACU,QAAA,2BAA2B,GAAG,CAAC,CAAA;AAC/B,QAAA,2BAA2B,GAAG,MAAM,CAAA;AACpC,QAAA,4BAA4B,GAAG,CAAC,CAAA;AAChC,QAAA,4BAA4B,GAAG,EAAE,CAAA;AAE9C,SAAS,yBAAyB,CAAC,KAAe;IAChD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,WAAW,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAkB,EAAE,gBAAqB;IAC/E,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACxB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAChD,IAAI,CAAC,aAAa,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC;QAChE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,CAAC;QACH,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAChC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,KAAK,CAAS,UAAU,CAAC,CAAA;QAClD,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,eAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAElD,IAAI,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,kBAAkB,CAC/B,aAAuB,EACvB,IAAc,EACd,UAAkB,EAClB,MAAc,EACd,OAA4B,QAAQ;;IAEpC,0FAA0F;IAC1F,MAAM,MAAM,GAAG,MAAC,UAAkB,aAAlB,UAAU,uBAAV,UAAU,CAAU,MAAM,0CAAE,MAAkC,CAAA;IAC9E,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CACpC,KAAK,EACL,IAAI,UAAU,CAAC,aAAa,CAAC,EAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClB,eAAe,CAAC,KAAK,EACrB,CAAC,YAAY,CAAC,CACf,CAAA;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAClC;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC;gBAC1B,UAAU;gBACV,IAAI,EAAE,IAAI,CAAC,WAAW,EAAyB;aAChD,EACD,OAAO,EACP,MAAM,GAAG,CAAC,CACX,CAAA;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yFAAyF;YACzF,kBAAkB;QACpB,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAY,GAAE,CAAC,CAAC,CAAC,IAAA,wBAAY,GAAE,CAAA;IACxE,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAM,EAAC;QAC3B,QAAQ,EAAE,IAAI,UAAU,CAAC,aAAa,CAAC;QACvC,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC;QAC1B,UAAU;QACV,UAAU,EAAE,MAAM;QAClB,YAAY;QACZ,UAAU,EAAE,QAAQ;KACrB,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,iBAAiB,CAC9B,KAAqD,EACrD,aAAuB,EACvB,WAMC;;IAED,MAAM,GAAG,GAAG,WAAW,IAAI,KAAK,CAAC,WAAW,CAAA;IAE5C,0CAA0C;IAC1C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;QAC9C,OAAO,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,mCAAI,yBAAiB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IAClH,CAAC;IAED,yBAAyB;IACzB,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,UAAU,mCAAI,mCAA2B,CAAA;QAChE,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,SAAS,mCAAI,mCAA2B,CAAA;QAC/D,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,WAAW,mCAAI,oCAA4B,CAAA;QACnE,MAAM,UAAU,GAAG,MAAA,GAAG,CAAC,UAAU,mCAAI,oCAA4B,CAAA;QAEjE,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAQ,EAAC;YAC1B,QAAQ,EAAE,IAAI,UAAU,CAAC,aAAa,CAAC;YACvC,IAAI,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;YACxC,UAAU;YACV,UAAU;YACV,WAAW;YACX,UAAU;YACV,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,8BAA+B,GAAW,CAAC,SAAS,EAAE,CAAC,CAAA;AACzE,CAAC;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AA6LlF;;;;;;;;;;;GAWG;AACH,MAAa,yBAAyB;IAYpC;;;;;OAKG;IACH,YACE,WAA2B,IAAI,oBAAc,EAAE,EAC/C,cAA+B,IAAI,qBAAe,CAAC,CAAC,UAAU,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,yBAAyB,CAAC,IAAc;QACnD,gDAAgD;QAChD,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,EAAE,gBAAgB,EAAE,WAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;SAC/C,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,qBAAqB,CAAC,IAAc;QAC/C,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,EAAE,YAAY,EAAE,WAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;SAC3C,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,YAAY,CACvB,MAAuB,EAAE,4DAA4D;IACrF,eAAwD,EACxD,KAAe,EACf,iBAA4B;QAE5B,sDAAsD;QACtD,MAAM,MAAM,GAAe,EAAE,CAAA;QAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAA;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,2BAA2B,CAAA;QAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAA;QACzC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,2BAA2B,CAAA;QAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,yBAAyB,CAAA;QAC3C,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,8BAA8B,CAAA;QAChD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAA;QAClC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAA;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,wBAAwB,CAAA;QAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAA;QACtC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAA;QAEvC,wCAAwC;QACxC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAA;QACtC,CAAC;QAED,iDAAiD;QACjD,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAE3D,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA,CAAC,cAAc;YAC7D,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,WAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YAElF,2BAA2B;YAC3B,MAAM,SAAS,GAA2B;gBACxC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU;aACzC,CAAA;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC9C,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAA;YACnD,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAChD,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAA;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC/C,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAA;YACrD,CAAC;YACD,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;QAClF,CAAC;QAED,mFAAmF;QACnF,8FAA8F;QAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,cAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,IAAI,CAC7D,MAAM,EACN,CAAC,CAAC,EAAE,6BAA6B,CAAC,EAAE,aAAa;QACjD,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,eAAe;QACvB,YAAY,CAAC,IAAI;QACjB,qBAAqB,CAAC,IAAI,CAC3B,CAAA;QAED,2FAA2F;QAC3F,MAAM,MAAM,GAAwB,EAAE,CAAA;QACtC,IAAI,UAA+D,CAAA;QACnE,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,EAAE,CAAC;YACvC,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAA;YACzE,8FAA8F;YAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,iBAAiB,GAAG,SAAS,CAAA;gBAE7B,2BAA2B;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,iBAAiB,CAAC,eAAe;oBAC3C,qBAAqB,EAAE,EAAE,EAAE,2BAA2B;oBACtD,gBAAgB,EAAE,uBAAuB;iBAC1C,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG;YACd;gBACE,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE;gBAC7B,QAAQ,EAAE,CAAC;gBACX,iBAAiB,EAAE,sBAAsB;aAC1C;SACF,CAAA;QAED,qDAAqD;QACrD,IAAI,YAAY,CAAA;QAChB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CACtC;gBACE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,sBAAsB;gBACrG,MAAM;gBACN,OAAO;gBACP,SAAS,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;gBAC3B,OAAO,EAAE;oBACP,gBAAgB,EAAE,KAAK;oBACvB,sBAAsB,EAAE,KAAK;iBAC9B;aACF,EACD,eAAe,CAChB,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,8EAA8E,EAAE,CAAC,CAAC,CAAA;YAChG,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CACtC;gBACE,WAAW,EAAE,mBAAmB;gBAChC,OAAO;gBACP,OAAO,EAAE;oBACP,gBAAgB,EAAE,KAAK;oBACvB,sBAAsB,EAAE,KAAK;iBAC9B;aACF,EACD,eAAe,CAChB,CAAA;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACtC,MAAM,SAAS,GACb,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAW,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAC5G,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAClE,CAAC;YACD,yCAAyC;YACzC,MAAM,WAAW,GAAG,iBAAW,CAAC,cAAc,CAAC,YAAY,CAAC,EAAG,CAAC,CAAA;YAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;YACvC,OAAO,GAAG,SAAS,IAAI,CAAA;QACzB,CAAC;QAED,6EAA6E;QAC7E,uEAAuE;QACvE,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAA;QAC5D,MAAM,SAAS,GAAG,iBAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAE3E,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,EAAE,CAAC;YACvC,yDAAyD;YACzD,MAAM,QAAQ,GAAG,IAAI,cAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;YAC9G,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAEzD,2BAA2B;YAC3B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CACxC;gBACE,SAAS;gBACT,MAAM,EAAE;oBACN,CAAC,EAAE;wBACD,eAAe,EAAE,eAAe,CAAC,KAAK,EAAE;qBACzC;iBACF;aACF,EACD,eAAe,CAChB,CAAA;YACD,SAAS,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAW,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACzG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;YAC1E,CAAC;YACD,6BAA6B;YAC7B,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,CAAA;YACnC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;YACpF,CAAC;YACD,MAAM,WAAW,GAAG,iBAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;YACvC,OAAO,GAAG,SAAS,IAAI,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,CAAA;YACtF,SAAS,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAW,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACzG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAClE,CAAC;YACD,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,CAAA;YACnC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;YAChF,CAAC;YACD,MAAM,WAAW,GAAG,iBAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;YACvC,OAAO,GAAG,SAAS,IAAI,CAAA;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB,CAAC,MAAoB;;QAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,iBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAA;YAEjD,MAAM,OAAO,GAAG,cAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAA;YAEtE,sCAAsC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,6CAA6C,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,CAAC,CAAA;gBACnF,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,6EAA6E;YAC7E,iEAAiE;YACjE,IAAI,cAAc,GAAG,8BAA8B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;YAE7F,6CAA6C;YAC7C,2GAA2G;YAC3G,4FAA4F;YAC5F,MAAM,yBAAyB,GAC7B,cAAc,CAAC,MAAM,IAAI,EAAE,IAAI,CAAA,MAAA,cAAc,CAAC,EAAE,CAAC,0CAAE,MAAM,MAAK,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAChG,MAAM,4BAA4B,GAChC,cAAc,CAAC,MAAM,IAAI,EAAE,IAAI,CAAA,MAAA,cAAc,CAAC,EAAE,CAAC,0CAAE,MAAM,MAAK,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAEhG,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAEpG,6DAA6D;YAC7D,MAAM,CAAC,GAAa;gBAClB,2CAA2C;gBAC3C,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC/B,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC9C,uBAAuB,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC1C,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC9C,yBAAyB,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC5C,8BAA8B,EAAE,cAAc,CAAC,CAAC,CAAC;gBACjD,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;gBACnC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC/B,wBAAwB,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC3C,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvC,oBAAoB,EAAE,cAAc,CAAC,EAAE,CAAC;gBACxC,eAAe,EAAE,QAAQ;aAC1B,CAAA;YAED,8CAA8C;YAC9C,MAAM,gBAAgB,GAAG,yBAAyB,IAAI,CAAC,CAAC,4BAA4B,IAAI,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7G,IAAI,gBAAgB,IAAI,cAAc,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5E,CAAC,CAAC,iBAAiB,GAAG,cAAc,CAAC,EAAE,CAAC,CAAA;YAC1C,CAAC;YAED,qEAAqE;YACrE,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,sBAAsB;gBAE7E,MAAM,iBAAiB,GAAG,cAAc,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAA;gBAClE,MAAM,cAAc,GAAG,cAAc,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAA;gBAE/D,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,OAAO,CAAC,CAAA;gBACV,CAAC;gBAED,MAAM,YAAY,GAAG,WAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBACpD,MAAM,aAAa,GAAG,WAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;gBAElD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;oBAC3C,CAAC,CAAC,WAAW,GAAG;wBACd,SAAS,EAAE,YAA4C;wBACvD,UAAU,EAAE,SAAS,CAAC,UAAU;wBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,UAAU,EAAE,SAAS,CAAC,UAAU;qBACjC,CAAA;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;YAED,OAAO,CAAC,CAAA;QACV,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,cAAc,CAAC,QAAgB;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxC,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE;gBACL,QAAQ;aACT;SACF,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;CACF;AAzXD,8DAyXC;AAED;;;;GAIG;AACH,MAAa,qBAAqB;IA6GhC;;;;;;;;;;;OAWG;IACH,YACE,eAAwD,EACxD,aAI6B,EAC7B,aAAiC,IAAI,yBAAyB,EAAE,EAChE,gBAAkD,EAClD,iBAGoB,EACpB,eAIkB,EAClB,aAAwB,EACxB,SAAqB;;QAzFvB;;WAEG;QACH,uBAAkB,GAGgB,+BAA+B,CAAA;QAEjE;;WAEG;QACH,uBAAkB,GAAiC,UAAU,CAAA;QAsB7D;;WAEG;QACK,oBAAe,GAAa,0BAAkB,CAAA;QAEtD;;WAEG;QACK,aAAQ,GAAc,EAAE,CAAA;QAkD9B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAA;QACpC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QAEtC,6DAA6D;QAC7D,IAAI,CAAC,SAAS,GAAG;YACf,SAAS,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,mCAAI,UAAU;YAC7C,UAAU,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,mCAAI,mCAA2B;YAChE,SAAS,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,mCAAI,mCAA2B;YAC9D,WAAW,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,mCAAI,oCAA4B;YACnE,UAAU,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,mCAAI,oCAA4B;SAClE,CAAA;QAED,uDAAuD;QACvD,oEAAoE;QACpE,kEAAkE;QAClE,sEAAsE;QACtE,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC3C,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAA;gBAClE,2CAA2C;gBAC3C,IAAI,CAAC,OAAO,EAAE,CAAA;YAChB,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,GAAa;QACxC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,2BAA2B,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,UAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAA;QAE3E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,6BAA6B;YAC7B,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAA;YACpC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAA;YACzC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAA;YAC1B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,mCAAmC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,KAAK,eAAe,EAAE,CAAC;YAChD,qBAAqB;YACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAChE,CAAC;YACD,sDAAsD;YACtD,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,WAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;YAEzG,IAAI,cAAwB,CAAA;YAC5B,IAAI,iBAAuC,CAAA,CAAC,gCAAgC;YAE5E,IAAI,IAAI,CAAC,kBAAkB,KAAK,+BAA+B,EAAE,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,eAAe;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACxE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;gBACjE,cAAc,GAAG,IAAI,kBAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAa,CAAA;YACjH,CAAC;iBAAM,CAAC;gBACN,8BAA8B;gBAC9B,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAChE,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;gBAC3E,cAAc,GAAG,IAAI,kBAAY,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAC7D,IAAI,CAAC,eAAe,CAAC,uBAAuB,CACjC,CAAA;gBACb,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;gBAC5E,iBAAiB,GAAG,IAAI,kBAAY,CAAC,uBAAuB,CAAC,CAAC,OAAO,CACnE,IAAI,CAAC,eAAe,CAAC,yBAAyB,CACnC,CAAA;YACf,CAAC;YACD,oFAAoF;YACpF,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAA;YACrE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,IAAI,IAAI,CAAC,kBAAkB,KAAK,+BAA+B,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;YAC/E,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;YACpE,CAAC;YAED,yBAAyB;YACzB,MAAM,WAAW,GAAG,IAAA,YAAM,EAAC,EAAE,CAAC,CAAA;YAC9B,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;YACxC,MAAM,YAAY,GAAG,IAAA,YAAM,EAAC,EAAE,CAAC,CAAA;YAE/B,gEAAgE;YAChE,MAAM,eAAe,GAAG;gBACtB,YAAY;gBACZ,WAAW,EAAE,IAAI,CAAC,SAAS;aAC5B,CAAA;YACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,eAAe,EAAE,WAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;YAC7F,MAAM,cAAc,GAAG,IAAA,YAAM,EAAC,EAAE,CAAC,CAAA;YACjC,MAAM,iBAAiB,GAAG,IAAA,YAAM,EAAC,EAAE,CAAC,CAAA;YAEpC,iBAAiB;YACjB,MAAM,oBAAoB,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAA;YAC1F,MAAM,oBAAoB,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAA;YAC1F,MAAM,gBAAgB,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;YAC7E,MAAM,eAAe,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;YAE/E,8BAA8B;YAC9B,MAAM,wBAAwB,GAAG,IAAI,2CAAoB,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,gBAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAExG,oEAAoE;YACpE,MAAM,QAAQ,GAAa;gBACzB,YAAY;gBACZ,2BAA2B,EAAE,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAa;gBACrF,uBAAuB,EAAE,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAa;gBAC7E,2BAA2B,EAAE,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAa;gBACrF,yBAAyB,EAAE,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAa;gBACjF,8BAA8B,EAAE,oBAAoB,CAAC,OAAO,CAAC,iBAAiB,CAAa;gBAC3F,gBAAgB,EAAE,UAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;gBACnD,YAAY,EAAE,UAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtC,wBAAwB,EAAE,CACxB,MAAM,wBAAwB,CAAC,OAAO,CAAC;oBACrC,SAAS,EAAE,IAAI,CAAC,eAAe;oBAC/B,UAAU,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC;oBACrC,KAAK,EAAE,GAAG;iBACX,CAAC,CACH,CAAC,UAAU;gBACZ,oBAAoB,EAAE,CACpB,MAAM,wBAAwB,CAAC,OAAO,CAAC;oBACrC,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC;oBACrC,KAAK,EAAE,GAAG;iBACX,CAAC,CACH,CAAC,UAAU;gBACZ,oBAAoB,EAAE,CACpB,MAAM,wBAAwB,CAAC,OAAO,CAAC;oBACrC,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC;oBACrC,KAAK,EAAE,GAAG;iBACX,CAAC,CACH,CAAC,UAAU;gBACZ,iBAAiB,EAAE,SAAS,EAAE,kBAAkB;gBAChD,UAAU,EAAE,CAAC,EAAE,yBAAyB;gBACxC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB;aACnD,CAAA;YACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAA;YAE/B,0DAA0D;YAC1D,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAA;YAClD,MAAM,IAAI,CAAC,aAAa,CAAC,0BAAkB,CAAC,CAAA;YAE5C,+CAA+C;YAC/C,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;gBACzF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;oBAC7C,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBAC1D,MAAM,IAAI,KAAK,CAAC,0DAA0D,OAAO,EAAE,CAAC,CAAA;gBACtF,CAAC;YACH,CAAC;YAED,wDAAwD;YACxD,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;YAC7F,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAC/E,IAAI,CAAC,UAAU,EAAE,iCAAiC;YAClD,IAAI,CAAC,eAAe,EACpB,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAqB;QAC5C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,KAAK,+BAA+B,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;aAAM,IAAI,IAAI,CAAC,kBAAkB,KAAK,2BAA2B,EAAE,CAAC;YACnE,oBAAoB;YACpB,MAAM,IAAI,GAAG,UAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;YACvE,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACnE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YAChF,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAEzE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;YAC1D,MAAM,cAAc,GAAG,IAAI,kBAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CACrD,IAAI,CAAC,eAAe,CAAC,2BAA2B,CACrC,CAAA;YACb,MAAM,iBAAiB,GAAG,IAAI,kBAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CACxD,IAAI,CAAC,eAAe,CAAC,8BAA8B,CACxC,CAAA;YAEb,8DAA8D;YAC9D,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAA;YACrE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,mCAAmC;IAEnC;;;;;;OAMG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,YAAM,EAAC,EAAE,CAAC,CAAA;QAC9B,MAAM,sBAAsB,GAAG,IAAI,WAAK,CAAC,MAAM,EAAE,CAAA;QAEjD,yBAAyB;QACzB,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEjD,kDAAkD;QAClD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACpE,sBAAsB,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC7D,sBAAsB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAE7C,sBAAsB;QACtB,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAA;QACzD,MAAM,eAAe,GAAG,IAAI,kBAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAa,CAAA;QAE3F,mCAAmC;QACnC,MAAM,cAAc,GAAG,IAAI,WAAK,CAAC,MAAM,EAAE,CAAA;QACzC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,UAAU;QACvC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACjC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA,CAAC,oBAAoB;QAC/D,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA,CAAC,iBAAiB;QAEvD,OAAO,cAAc,CAAC,OAAO,EAAE,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,QAAkB;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,WAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAElC,IAAI,WAAqB,CAAA;YACzB,IAAI,gBAA0B,CAAA;YAC9B,IAAI,eAAe,GAAG,0BAAkB,CAAA,CAAC,iBAAiB;YAE1D,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC7B,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;YAClC,CAAC;iBAAM,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC7B,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,yBAAyB;gBAC3D,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAA;YAC7D,CAAC;YAED,kBAAkB;YAClB,MAAM,gBAAgB,GAAG,IAAI,kBAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAa,CAAA;YAC5F,MAAM,aAAa,GAAG,IAAI,WAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAExD,wBAAwB;YACxB,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAE7C,4BAA4B;YAC5B,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,CAAA;YAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAElD,qBAAqB;YACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;YAE5B,oFAAoF;YACpF,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAA,CAAC,mCAAmC;YACtF,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA,CAAC,8CAA8C;YAExF,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAA,CAAC,gCAAgC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAA,CAAC,uBAAuB;YACtC,MAAM,IAAI,KAAK,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAA;QACzC,IAAI,SAA+B,CAAA;QAEnC,IAAI,YAAY,CAAC,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC1E,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;QACpG,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,YAAY,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAChF,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;QAC5F,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IACE,SAAS,CAAC,eAAe;YACzB,YAAY,CAAC,eAAe;YAC5B,SAAS,CAAC,eAAe,KAAK,YAAY,CAAC,eAAe,EAC1D,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACvD,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAA;QACzC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,0BAAkB,CAAA;QACzC,IAAI,CAAC,kBAAkB,GAAG,+BAA+B,CAAA;QACzD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAA;IACtC,CAAC;IAED,qCAAqC;IAErC;;;OAGG;IACH,YAAY;QAOV,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;QACD,MAAM,WAAW,GAAG;YAClB,kBAAkB;YAClB;gBACE,EAAE,EAAE,0BAAkB;gBACtB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,IAAI,EAAE,oEAAoE;gBACrF,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChD,WAAW,EAAE,IAAI,gBAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;aAC1E;YACD,iBAAiB;YACjB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3D,WAAW,EAAE,IAAI,gBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAA0B,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;aAC9G,CAAC,CAAC;SACJ,CAAA;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3G,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,sBAAsB,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,UAAU,GAAY;YAC1B,IAAI;YACJ,EAAE,EAAE,IAAA,YAAM,EAAC,EAAE,CAAC;YACd,UAAU,EAAE,IAAA,YAAM,EAAC,EAAE,CAAC;YACtB,aAAa,EAAE,IAAA,YAAM,EAAC,EAAE,CAAC;YACzB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;SACzC,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAE9B,iDAAiD;QACjD,MAAM,IAAI,CAAC,iBAAiB,CAC1B,IAAI,CAAC,eAAe,CAAC,YAAY;QACjC,6DAA6D;QAC7D,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EACnC,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EACvC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EACnC,IAAI,CAAC,cAAc,EACnB,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,0BAA0B;QACjE,IAAI,CAAC,QAAQ,CAAC,gCAAgC;SAC/C,CAAA;QAED,OAAO,UAAU,CAAC,EAAE,CAAA;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,SAAmB;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3G,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3F,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;QAErC,uDAAuD;QACvD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,CAAC,aAAa,CAAC,0BAAkB,CAAC,CAAA,CAAC,2BAA2B;QAC1E,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAI,CAAC,iBAAiB,CAC1B,IAAI,CAAC,eAAe,CAAC,YAAY,EACjC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EACnC,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EACvC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EACnC,IAAI,CAAC,cAAc,EACnB,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,0BAA0B;QACjE,IAAI,CAAC,QAAQ,CAAC,oBAAoB;SACnC,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAmB;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;QAC1F,CAAC;QAED,IAAI,iBAA2B,CAAA;QAC/B,IAAI,oBAA0C,CAAA,CAAC,6BAA6B;QAE5E,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAClC,+BAA+B;YAC/B,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAA;YACvC,oBAAoB,GAAG,SAAS,CAAA,CAAC,qBAAqB;YACtD,IAAI,CAAC,eAAe,GAAG,0BAAkB,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;YACvC,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;YACrE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAA;YAC5C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAClC,CAAC;QAED,oDAAoD;QACpD,qEAAqE;QACrE,MAAM,2BAA2B,GAAG,IAAI,2CAAoB,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;YACpF,yDAAyD;YACzD,MAAM,cAAc,GAAe,MAAO,IAAI,CAAC,wBAAgC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YACxG,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,EAAE,CAAA;YAEpD,wCAAwC;YACxC,MAAM,sBAAsB,GAAG,oBAAoB;gBACjD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;gBACrD,CAAC,CAAC,mBAAmB,CAAA;YAEvB,OAAO,IAAI,gBAAU,CAAC,sBAAsB,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,uDAAuD;QACvD,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACxC,iBAAiB,EACjB,2BAA2B,EAAE,oCAAoC;QACjE,IAAI,CAAC,eAAe,CAAC,6CAA6C;SACnE,CAAA;IACH,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;;QACtC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3G,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,YAAM,EAAC,EAAE,CAAC,CAAA;QAC/B,uFAAuF;QACvF,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,eAAe,CAAC,WAAW,mCAAI,IAAI,CAAC,SAAS,CAAA;QACnE,MAAM,eAAe,GAAG;YACtB,YAAY;YACZ,WAAW,EAAE,QAAQ;SACtB,CAAA;QACD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,eAAe,EAAE,WAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;QAEnG,6FAA6F;QAC7F,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QACvD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC/D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA,CAAC,0BAA0B;QAE1F,MAAM,IAAI,CAAC,iBAAiB,CAC1B,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,IAAI,CAAC,cAAc,EACnB,iBAAiB,EAAE,uCAAuC;QAC1D,IAAI,CAAC,QAAQ,CAAC,6BAA6B;SAC5C,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3G,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QACvD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC/D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA,CAAC,0BAA0B;QAE1F,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAA,YAAM,EAAC,EAAE,CAAC,CAAA;QACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAE3C,MAAM,IAAI,CAAC,iBAAiB,CAC1B,IAAI,CAAC,eAAe,CAAC,YAAY,EACjC,WAAW,EACX,eAAe,EACf,cAAc,EAAE,kBAAkB;QAClC,IAAI,CAAC,cAAc,EACnB,iBAAiB,EACjB,IAAI,CAAC,QAAQ,CAAC,oBAAoB;SACnC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,kBAA4B;QACtD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3G,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;QAED,2BAA2B;QAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QACvD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA,CAAC,0BAA0B;QAE1F,MAAM,IAAI,CAAC,iBAAiB,CAC1B,IAAI,CAAC,eAAe,CAAC,YAAY,EACjC,WAAW,EACX,kBAAkB,EAAE,kBAAkB;QACtC,WAAW,EACX,IAAI,CAAC,cAAc,EACnB,iBAAiB,EACjB,IAAI,CAAC,QAAQ,CAAC,oBAAoB;SACnC,CAAA;QACD,kDAAkD;QAClD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,kCAAkC;IAElC;;OAEG;IACK,GAAG,CAAC,EAAY,EAAE,EAAY;QACpC,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;YAC5B,gCAAgC;YAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC,MAAM,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QACtE,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,KAAK,CAAS,EAAE,CAAC,MAAM,CAAC,CAAA;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,SAAS,CACrB,UAA+E;QAE/E,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,sBAAsB,CAAC,CAAA;QACzE,CAAC;QAED,MAAM,UAAU,GAAwB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAA,CAAC,uCAAuC;QACzG,MAAM,KAAK,GAAG,GAAG,CAAA,CAAC,cAAc;QAEhC,IAAI,CAAC;YACH,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,aAAa;oBAChB,OAAO,CACL,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;wBAC1C,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,oBAAoB;wBACrD,UAAU;wBACV,KAAK;qBACN,CAAC,CACH,CAAC,SAAS,CAAA;gBACb,KAAK,iBAAiB;oBACpB,OAAO,CACL,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;wBAC1C,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,wBAAwB;wBACzD,UAAU;wBACV,KAAK;qBACN,CAAC,CACH,CAAC,SAAS,CAAA;gBACb,KAAK,aAAa;oBAChB,OAAO,CACL,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;wBAC1C,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,oBAAoB;wBACrD,UAAU;wBACV,KAAK;qBACN,CAAC,CACH,CAAC,SAAS,CAAA;gBACb,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,kFAAkF;oBAClF,uEAAuE;oBACvE,2CAA2C;oBAC3C,MAAM,EAAE,GAAG,MAAO,IAAI,CAAC,wBAAgC,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA,CAAC,8BAA8B;oBACjI,OAAO,EAAE,CAAC,OAAO,EAAE,CAAA,CAAC,eAAe;gBACrC,CAAC;gBACD;oBACE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,UAAU,GAAG,EAAE,KAAK,CAAC,CAAA;YAC9D,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,MAAO,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1F,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,YAAsB,EACtB,WAAqB,EACrB,eAAyB,EACzB,WAAqB,EACrB,cAAwB,EACxB,iBAA2B,EAAE,qCAAqC;IAClE,QAAoB,CAAC,iCAAiC;;;QAEtD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;QACrF,CAAC;QACD,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACrD,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QACxE,CAAC;QAED,mEAAmE;QACnE,MAAM,oBAAoB,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAA;QACrF,MAAM,oBAAoB,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAA;QACrF,MAAM,gBAAgB,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QAC7E,MAAM,eAAe,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA,CAAC,qBAAqB;QAErG,kFAAkF;QAClF,MAAM,4BAA4B,GAAG,IAAI,2CAAoB,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,gBAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAE5G,+BAA+B;QAC/B,IAAI,iBAAuC,CAAA;QAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC7C,MAAM,aAAa,GAAG,WAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YACzD,iBAAiB,GAAG,IAAI,kBAAY,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,aAAa,CAAa,CAAA;QACzF,CAAC;QAED,iFAAiF;QACjF,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,eAAe,CAAC,WAAW,mCAAI,IAAI,CAAC,SAAS,CAAA;QACtE,MAAM,YAAY,GAAa;YAC7B,YAAY;YACZ,2BAA2B,EAAE,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAa;YACrF,uBAAuB,EAAE,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAa;YAC7E,2BAA2B,EAAE,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAa;YACrF,yBAAyB,EAAE,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAa;YACjF,8BAA8B,EAAE,oBAAoB,CAAC,OAAO,CAAC,iBAAiB,CAAa;YAC3F,gBAAgB,EAAE,UAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC9C,YAAY,EAAE,UAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtC,wBAAwB,EAAE,CACxB,MAAM,4BAA4B,CAAC,OAAO,CAAC;gBACzC,SAAS,EAAE,eAAe;gBAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC;gBACrC,KAAK,EAAE,GAAG;aACX,CAAC,CACH,CAAC,UAAU;YACZ,oBAAoB,EAAE,CACpB,MAAM,4BAA4B,CAAC,OAAO,CAAC;gBACzC,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC;gBACrC,KAAK,EAAE,GAAG;aACX,CAAC,CACH,CAAC,UAAU;YACZ,oBAAoB,EAAE,CACpB,MAAM,4BAA4B,CAAC,OAAO,CAAC;gBACzC,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC;gBACrC,KAAK,EAAE,GAAG;aACX,CAAC,CACH,CAAC,UAAU;YACZ,iBAAiB,EAAE,yBAAyB;YAC5C,UAAU,EAAE,CAAC,EAAE,yBAAyB;YACxC,WAAW,EAAE,WAAW,CAAC,mCAAmC;YAC5D,+CAA+C;SAChD,CAAA;QAED,6EAA6E;QAC7E,+FAA+F;QAC/F,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;QAC5C,IAAI,WAAW,GAAgC,IAAI,CAAC,UAAU,CAAA;QAE9D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;YAC9E,MAAM,IAAI,CAAC,aAAa,CAAC,0BAAkB,CAAC,CAAA,CAAC,gCAAgC;YAC7E,WAAW,GAAG,IAAI,CAAC,UAAU,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;QACxF,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC;YACH,YAAY,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CACvE,WAAW,EACX,IAAI,CAAC,eAAe,EACpB,YAAY,EACZ,iBAAiB,CAAC,6BAA6B;aAChD,CAAA;YACD,6BAA6B;YAC7B,IAAI,CAAC,eAAe,GAAG,YAAY,CAAA;YACnC,uEAAuE;QACzE,CAAC;gBAAS,CAAC;YACT,yCAAyC;YACzC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;gBACpD,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,KAAe;QACvC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,WAAK,CAAC,MAAM,EAAE,CAAA;QACjC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAA;QAClE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,kCAAkC;QAE5E,MAAM,UAAU,GAAG,CAAC,GAAa,EAAE,EAAE;YACnC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC,CAAA;QAED,0CAA0C;QAC1C,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA,CAAC,IAAI;QACnC,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA,CAAC,IAAI;QAClD,UAAU,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA,CAAC,IAAI;QAC9C,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA,CAAC,IAAI;QAClD,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA,CAAC,IAAI;QAChD,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA,CAAC,IAAI;QACrD,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA,CAAC,IAAI;QACvC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA,CAAC,IAAI;QACnC,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA,CAAC,IAAI;QAC/C,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA,CAAC,IAAI;QAC3C,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA,CAAC,KAAK;QAE5C,gCAAgC;QAChC,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,mCAAmC;YACxD,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,8BAA8B;QACrD,CAAC;QAED,yBAAyB;QACzB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,uCAAuC;YAC5D,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,UAAW,CAAC,CAAA,CAAC,uBAAuB;YAC5D,MAAM,cAAc,GAAG,WAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YAC1E,UAAU,CAAC,cAAc,CAAC,CAAA;YAE1B,+BAA+B;YAC/B,MAAM,SAAS,GAA2B;gBACxC,UAAU,EAAE,KAAK,CAAC,WAAY,CAAC,UAAU;aAC1C,CAAA;YACD,IAAI,KAAK,CAAC,WAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/C,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,WAAY,CAAC,SAAS,CAAA;YACpD,CAAC;YACD,IAAI,KAAK,CAAC,WAAY,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACjD,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,WAAY,CAAC,WAAW,CAAA;YACxD,CAAC;YACD,IAAI,KAAK,CAAC,WAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAChD,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,WAAY,CAAC,UAAU,CAAA;YACtD,CAAC;YACD,MAAM,cAAc,GAAG,WAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAA;YACvE,UAAU,CAAC,cAAc,CAAC,CAAA;QAC5B,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,2EAA2E;YAC3E,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,kCAAkC;QACzD,CAAC;QAED,wBAAwB;QACxB,MAAM,aAAa,GAAG,WAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAClE,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAE3B,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAa;QACvC,MAAM,MAAM,GAAG,IAAI,WAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QAElC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,gDAAgD,OAAO,EAAE,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,SAAS,GAAG,GAAa,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;YACrC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC,CAAA;QAED,qDAAqD;QACrD,MAAM,YAAY,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QACrC,MAAM,2BAA2B,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QACpD,MAAM,uBAAuB,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QAChD,MAAM,2BAA2B,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QACpD,MAAM,yBAAyB,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QAClD,MAAM,8BAA8B,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QACvD,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QACzC,MAAM,YAAY,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QACrC,MAAM,wBAAwB,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QACjD,MAAM,oBAAoB,GAAG,SAAS,EAAE,CAAA,CAAC,IAAI;QAC7C,MAAM,oBAAoB,GAAG,SAAS,EAAE,CAAA,CAAC,KAAK;QAE9C,qCAAqC;QACrC,IAAI,iBAAuC,CAAA;QAC3C,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YACvC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,iBAAiB,GAAG,SAAS,EAAE,CAAA;YACjC,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,UAA8B,CAAA;QAClC,IAAI,WAAoC,CAAA;QACxC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAClC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA,CAAC,uBAAuB;gBACvD,MAAM,cAAc,GAAG,SAAS,EAAE,CAAA;gBAClC,MAAM,SAAS,GAAG,WAAK,CAAC,MAAM,CAAC,cAAc,CAAiC,CAAA;gBAE9E,MAAM,cAAc,GAAG,SAAS,EAAE,CAAA;gBAClC,MAAM,aAAa,GAAG,WAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;gBAElD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;oBAC3C,WAAW,GAAG;wBACZ,SAAS;wBACT,UAAU,EAAE,SAAS,CAAC,UAAU;wBAChC,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,UAAU,EAAE,SAAS,CAAC,UAAU;qBACjC,CAAA;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAA;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC9C,MAAM,eAAe,GAAG,WAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAEnD,MAAM,KAAK,GAAa;YACtB,YAAY;YACZ,2BAA2B;YAC3B,uBAAuB;YACvB,2BAA2B;YAC3B,yBAAyB;YACzB,8BAA8B;YAC9B,gBAAgB;YAChB,YAAY;YACZ,wBAAwB;YACxB,oBAAoB;YACpB,oBAAoB;YACpB,iBAAiB;YACjB,eAAe;YACf,UAAU;YACV,WAAW;SACZ,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,uBAAuB,CACnC,cAAwB,EACxB,0BAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAClF,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QAEpC,mEAAmE;QACnE,IAAI,oBAAoB,GAA2B,0BAA0B;YAC3E,CAAC,CAAC,IAAI,gBAAU,CAAC,0BAA0B,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAA;QAEb,uCAAuC;QACvC,IAAI,CAAC,wBAAwB,GAAG,IAAI,2CAAoB,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;YAChF,kDAAkD;YAClD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,oBAAoB,CAAA;gBACpC,oBAAoB,GAAG,SAAS,CAAA,CAAC,aAAa;gBAC9C,OAAO,OAAO,CAAA;YAChB,CAAC;YAED,qCAAqC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAyB,EAAE,EAAE;gBACxF,IAAI,CAAC;oBACH,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAChD,IAAI,CAAC,eAAgB,EACrB,WAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CACzC,CAAA;oBACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAe,EAAE,kBAAkB,CAAC,CAAA;oBAC9E,MAAM,mBAAmB,GAAG,IAAI,kBAAY,CAAC,mBAAmB,CAAC,CAAC,OAAO,CACvE,IAAI,CAAC,eAAgB,CAAC,yBAAyB,CACpC,CAAA;oBACb,OAAO,CAAC,CAAC,mBAAmB,CAAA,CAAC,kCAAkC;gBACjE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,uFAAuF;YACvF,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,eAAgB,EAAE,WAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;YAC1G,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAe,EAAE,kBAAkB,CAAC,CAAA;YAC9E,MAAM,mBAAmB,GAAG,IAAI,kBAAY,CAAC,mBAAmB,CAAC,CAAC,OAAO,CACvE,IAAI,CAAC,eAAgB,CAAC,yBAAyB,CACpC,CAAA;YAEb,OAAO,IAAI,gBAAU,CAAC,mBAAmB,CAAC,CAAA,CAAC,6BAA6B;QAC1E,CAAC,CAAC,CAAA;QAEF,oDAAoD;QACpD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA,CAAC,yCAAyC;QAC5D,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChG,IAAI,CAAC;gBACH,MAAM,qBAAqB,GAAG,IAAI,kBAAY,CAAC,cAAc,CAAC,CAAC,OAAO,CACpE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAC3B,CAAA;gBACb,MAAM,YAAY,GAAG,WAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;gBACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAc,CAAA;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;gBAC5D,2EAA2E;gBAC3E,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA,CAAC,qCAAqC;gBACxD,gDAAgD;gBAChD,MAAM,IAAI,KAAK,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;YACzE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,kDAAkD;QAClD,mGAAmG;IACrG,CAAC;IAED;;;;;OAKG;IAEK,sBAAsB,CAAC,UAAmB;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,6EAA6E;YAC7E,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,YAAY,CAChB,IAAsB,EACtB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,IAAsC,EACtC,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,IAAkC,EAClC,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAuB,EACvB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAuB,EACvB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAoB,EACpB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAoB,EACpB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAAyB,EACzB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAAyB,EACzB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,IAAsB,EACtB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAoB,EACpB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAqB,EACrB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAqB,EACrB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAA2B,EAC3B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAqB,EACrB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAA0B,EAC1B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,IAA4B,EAC5B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAA0B,EAC1B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAA0B,EAC1B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,IAA+B,EAC/B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,IAA+B,EAC/B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,IAA8B,EAC9B,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,CAAK,EAAE,UAAoD;QAC/E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;QACvF,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,CAAK,EACL,UAAoD;QAEpD,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;QACvF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,CAAK,EAAE,UAAoD;QACzE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,IAAmB,EACnB,UAAoD;QAEpD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,CAAK,EAAE,UAAoD;QAC1E,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,CAAK,EAAE,UAAoD;QAC1E,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACpD,CAAC;CACF;AAn8CD,sDAm8CC"}
|
|
@@ -13,7 +13,7 @@ export declare class WalletAuthenticationManager extends CWIStyleWalletManager {
|
|
|
13
13
|
private wabClient;
|
|
14
14
|
private authMethod?;
|
|
15
15
|
private tempPresentationKey?;
|
|
16
|
-
constructor(adminOriginator: string, walletBuilder: (primaryKey: number[], privilegedKeyManager: PrivilegedKeyManager) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean) => Promise<string>, wabClient: WABClient, authMethod?: AuthMethodInteractor, stateSnapshot?: number[]);
|
|
16
|
+
constructor(adminOriginator: string, walletBuilder: (primaryKey: number[], privilegedKeyManager: PrivilegedKeyManager) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean | Promise<boolean>) => Promise<string>, wabClient: WABClient, authMethod?: AuthMethodInteractor, stateSnapshot?: number[]);
|
|
17
17
|
/**
|
|
18
18
|
* Sets (or switches) the chosen AuthMethodInteractor at runtime,
|
|
19
19
|
* in case the user changes their mind or picks a new method in the UI.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletAuthenticationManager.d.ts","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAA6B,MAAM,yBAAyB,CAAA;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,eAAe,EAA8D,MAAM,UAAU,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAA;AAEhG;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAQ;gBAGlC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,EAC7G,UAAU,EAAE,kBAAkB,YAAkC,EAChE,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EAClD,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"WalletAuthenticationManager.d.ts","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAA6B,MAAM,yBAAyB,CAAA;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,eAAe,EAA8D,MAAM,UAAU,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAA;AAEhG;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAQ;gBAGlC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,EAC7G,UAAU,EAAE,kBAAkB,YAAkC,EAChE,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EAClD,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAC5D,OAAO,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,CAAC,EAAE,oBAAoB,EACjC,aAAa,CAAC,EAAE,MAAM,EAAE;IA0E1B;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,oBAAoB;IAIjD;;;OAGG;IACU,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD;;OAEG;IACU,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtD,OAAO,CAAC,gCAAgC;CAKzC"}
|
|
@@ -14,41 +14,51 @@ class WalletAuthenticationManager extends CWIStyleWalletManager_1.CWIStyleWallet
|
|
|
14
14
|
super(adminOriginator, walletBuilder, interactor, recoveryKeySaver, passwordRetriever,
|
|
15
15
|
// Here, we provide a custom new wallet funder that uses the Secret Server
|
|
16
16
|
async (presentationKey, wallet, adminOriginator) => {
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
if (!
|
|
20
|
-
throw new Error('
|
|
17
|
+
const faucetResponse = await this.wabClient.requestFaucet(sdk_1.Utils.toHex(presentationKey));
|
|
18
|
+
const paymentData = faucetResponse === null || faucetResponse === void 0 ? void 0 : faucetResponse.paymentData;
|
|
19
|
+
if (!(faucetResponse === null || faucetResponse === void 0 ? void 0 : faucetResponse.success) || !paymentData) {
|
|
20
|
+
throw new Error(`Faucet request failed: ${(faucetResponse === null || faucetResponse === void 0 ? void 0 : faucetResponse.message) || 'Missing paymentData from WAB'}`);
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
if (!paymentData.k || !paymentData.tx || !paymentData.txid) {
|
|
23
|
+
throw new Error('Faucet response missing required fields: k, tx, or txid');
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
const tx = sdk_1.Transaction.fromAtomicBEEF(paymentData.tx);
|
|
27
|
+
const faucetRedeemTXCreationResult = await wallet.createAction({
|
|
28
|
+
inputBEEF: tx.toBEEF(),
|
|
29
|
+
inputs: [
|
|
30
|
+
{
|
|
31
|
+
outpoint: `${paymentData.txid}.0`,
|
|
32
|
+
unlockingScriptLength: 108,
|
|
33
|
+
inputDescription: 'Fund from faucet'
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
description: 'Fund wallet',
|
|
37
|
+
options: {
|
|
38
|
+
acceptDelayedBroadcast: false
|
|
31
39
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
acceptDelayedBroadcast: false
|
|
40
|
+
}, adminOriginator);
|
|
41
|
+
if (!faucetRedeemTXCreationResult.signableTransaction) {
|
|
42
|
+
throw new Error('Faucet redemption did not return a signableTransaction');
|
|
36
43
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
const faucetRedeemTX = sdk_1.Transaction.fromAtomicBEEF(faucetRedeemTXCreationResult.signableTransaction.tx);
|
|
45
|
+
const faucetRedemptionPuzzle = new sdk_1.RPuzzle();
|
|
46
|
+
const randomRedemptionPrivateKey = sdk_1.PrivateKey.fromRandom();
|
|
47
|
+
const faucetRedeemUnlocker = faucetRedemptionPuzzle.unlock(new sdk_1.BigNumber(paymentData.k, 16), randomRedemptionPrivateKey);
|
|
48
|
+
const faucetRedeemUnlockingScript = await faucetRedeemUnlocker.sign(faucetRedeemTX, 0);
|
|
49
|
+
await wallet.signAction({
|
|
50
|
+
reference: faucetRedeemTXCreationResult.signableTransaction.reference,
|
|
51
|
+
spends: {
|
|
52
|
+
0: {
|
|
53
|
+
unlockingScript: faucetRedeemUnlockingScript.toHex()
|
|
54
|
+
}
|
|
48
55
|
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
60
|
+
throw new Error(`Faucet redemption failed: ${message}`);
|
|
61
|
+
}
|
|
52
62
|
}, stateSnapshot);
|
|
53
63
|
this.wabClient = wabClient;
|
|
54
64
|
this.authMethod = authMethod;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletAuthenticationManager.js","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":";;;AAAA,mEAA8G;AAE9G,kCAAsG;AAItG;;;;;GAKG;AACH,MAAa,2BAA4B,SAAQ,6CAAqB;IAKpE,YACE,eAAuB,EACvB,aAA6G,EAC7G,aAAiC,IAAI,iDAAyB,EAAE,EAChE,gBAAkD,EAClD,
|
|
1
|
+
{"version":3,"file":"WalletAuthenticationManager.js","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bsv/wallet-toolbox-mobile",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.11",
|
|
4
4
|
"description": "Client only Wallet Storage",
|
|
5
5
|
"main": "./out/src/index.mobile.js",
|
|
6
6
|
"types": "./out/src/index.mobile.d.ts",
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"homepage": "https://github.com/bsv-blockchain/wallet-toolbox#readme",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@bsv/sdk": "^2.0.13"
|
|
23
|
+
"@bsv/sdk": "^2.0.13",
|
|
24
|
+
"hash-wasm": "^4.12.0",
|
|
25
|
+
"idb": "^8.0.2"
|
|
24
26
|
}
|
|
25
27
|
}
|