@enbox/agent 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/browser.mjs +11 -11
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/anonymous-dwn-api.js +184 -0
  4. package/dist/esm/anonymous-dwn-api.js.map +1 -0
  5. package/dist/esm/dwn-api.js +86 -777
  6. package/dist/esm/dwn-api.js.map +1 -1
  7. package/dist/esm/dwn-encryption.js +342 -0
  8. package/dist/esm/dwn-encryption.js.map +1 -0
  9. package/dist/esm/dwn-key-delivery.js +256 -0
  10. package/dist/esm/dwn-key-delivery.js.map +1 -0
  11. package/dist/esm/dwn-record-upgrade.js +119 -0
  12. package/dist/esm/dwn-record-upgrade.js.map +1 -0
  13. package/dist/esm/dwn-type-guards.js +23 -0
  14. package/dist/esm/dwn-type-guards.js.map +1 -0
  15. package/dist/esm/index.js +6 -0
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/protocol-utils.js +158 -0
  18. package/dist/esm/protocol-utils.js.map +1 -0
  19. package/dist/esm/store-data-protocols.js +1 -1
  20. package/dist/esm/store-data-protocols.js.map +1 -1
  21. package/dist/esm/sync-engine-level.js +22 -353
  22. package/dist/esm/sync-engine-level.js.map +1 -1
  23. package/dist/esm/sync-messages.js +234 -0
  24. package/dist/esm/sync-messages.js.map +1 -0
  25. package/dist/esm/sync-topological-sort.js +143 -0
  26. package/dist/esm/sync-topological-sort.js.map +1 -0
  27. package/dist/esm/test-harness.js +20 -0
  28. package/dist/esm/test-harness.js.map +1 -1
  29. package/dist/types/anonymous-dwn-api.d.ts +140 -0
  30. package/dist/types/anonymous-dwn-api.d.ts.map +1 -0
  31. package/dist/types/dwn-api.d.ts +36 -179
  32. package/dist/types/dwn-api.d.ts.map +1 -1
  33. package/dist/types/dwn-encryption.d.ts +144 -0
  34. package/dist/types/dwn-encryption.d.ts.map +1 -0
  35. package/dist/types/dwn-key-delivery.d.ts +112 -0
  36. package/dist/types/dwn-key-delivery.d.ts.map +1 -0
  37. package/dist/types/dwn-record-upgrade.d.ts +33 -0
  38. package/dist/types/dwn-record-upgrade.d.ts.map +1 -0
  39. package/dist/types/dwn-type-guards.d.ts +9 -0
  40. package/dist/types/dwn-type-guards.d.ts.map +1 -0
  41. package/dist/types/index.d.ts +6 -0
  42. package/dist/types/index.d.ts.map +1 -1
  43. package/dist/types/protocol-utils.d.ts +70 -0
  44. package/dist/types/protocol-utils.d.ts.map +1 -0
  45. package/dist/types/sync-engine-level.d.ts +5 -42
  46. package/dist/types/sync-engine-level.d.ts.map +1 -1
  47. package/dist/types/sync-messages.d.ts +76 -0
  48. package/dist/types/sync-messages.d.ts.map +1 -0
  49. package/dist/types/sync-topological-sort.d.ts +15 -0
  50. package/dist/types/sync-topological-sort.d.ts.map +1 -0
  51. package/dist/types/test-harness.d.ts +10 -0
  52. package/dist/types/test-harness.d.ts.map +1 -1
  53. package/package.json +5 -5
  54. package/src/anonymous-dwn-api.ts +263 -0
  55. package/src/dwn-api.ts +160 -1015
  56. package/src/dwn-encryption.ts +481 -0
  57. package/src/dwn-key-delivery.ts +370 -0
  58. package/src/dwn-record-upgrade.ts +166 -0
  59. package/src/dwn-type-guards.ts +43 -0
  60. package/src/index.ts +6 -0
  61. package/src/protocol-utils.ts +185 -0
  62. package/src/store-data-protocols.ts +1 -1
  63. package/src/sync-engine-level.ts +24 -413
  64. package/src/sync-messages.ts +277 -0
  65. package/src/sync-topological-sort.ts +167 -0
  66. package/src/test-harness.ts +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-api.js","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,342 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { X25519 } from '@enbox/crypto';
11
+ import { Cid, ContentEncryptionAlgorithm, DataStream, Encoder, Encryption, KeyDerivationScheme, Records, } from '@enbox/dwn-sdk-js';
12
+ import { DwnInterface } from './types/dwn.js';
13
+ import { isDwnRequest } from './dwn-type-guards.js';
14
+ /**
15
+ * Returns the correct nonce/IV byte length for the given content encryption algorithm.
16
+ * A256GCM uses 96-bit (12-byte) nonces; XC20P uses 192-bit (24-byte) nonces.
17
+ */
18
+ export function ivLength(algorithm) {
19
+ return algorithm === ContentEncryptionAlgorithm.XC20P ? 24 : 12;
20
+ }
21
+ /**
22
+ * Builds a partial EncryptionInput object for a single key-encryption entry.
23
+ * The `authenticationTag` is NOT set here — the caller must set it after
24
+ * AEAD encryption produces the tag.
25
+ */
26
+ export function buildEncryptionInput(dek, iv, publicKeyId, publicKey, derivationScheme) {
27
+ return {
28
+ initializationVector: iv,
29
+ key: dek,
30
+ keyEncryptionInputs: [{
31
+ publicKeyId,
32
+ publicKey,
33
+ derivationScheme,
34
+ }],
35
+ };
36
+ }
37
+ /**
38
+ * Encrypts plaintext bytes with AEAD and computes the CID of the resulting ciphertext.
39
+ * Returns everything needed to attach the encrypted data to a DWN message, including
40
+ * the authentication tag.
41
+ */
42
+ export function encryptAndComputeCid(plaintextBytes_1, dek_1, iv_1) {
43
+ return __awaiter(this, arguments, void 0, function* (plaintextBytes, dek, iv, algorithm = ContentEncryptionAlgorithm.A256GCM) {
44
+ const { ciphertextStream, tag: authenticationTag } = yield Encryption.aeadEncryptStream(algorithm, dek, iv, DataStream.fromBytes(plaintextBytes));
45
+ const encryptedBytes = yield DataStream.toBytes(ciphertextStream);
46
+ const cidStream = DataStream.fromBytes(encryptedBytes);
47
+ const dataCid = yield Cid.computeDagPbCidFromStream(cidStream);
48
+ return { encryptedBytes, dataCid, dataSize: encryptedBytes.length, authenticationTag };
49
+ });
50
+ }
51
+ /**
52
+ * Resolves the encryption key info for a given DID.
53
+ * Looks up the keyAgreement verification method in the DID document,
54
+ * then resolves the corresponding KMS key URI.
55
+ *
56
+ * @param agent - The platform agent to use for DID resolution and key management
57
+ * @param didUri - The DID URI to resolve encryption key info for
58
+ * @returns keyId (fully qualified verification method ID), keyUri (KMS reference),
59
+ * and publicKeyJwk. No private key material is returned.
60
+ * @throws If the DID has no keyAgreement verification method or it's not X25519.
61
+ */
62
+ export function getEncryptionKeyInfo(agent, didUri) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ var _a;
65
+ // 1. Resolve the DID document
66
+ const { didDocument, didResolutionMetadata } = yield agent.did.resolve(didUri);
67
+ if (!didDocument) {
68
+ throw new Error(`AgentDwnApi: Failed to resolve DID '${didUri}': ` +
69
+ `${JSON.stringify(didResolutionMetadata)}`);
70
+ }
71
+ // 2. Find the keyAgreement verification method
72
+ const keyAgreementRefs = didDocument.keyAgreement;
73
+ if (!keyAgreementRefs || keyAgreementRefs.length === 0) {
74
+ throw new Error(`AgentDwnApi: DID '${didUri}' does not have a keyAgreement ` +
75
+ `verification method. Create the identity with an X25519 key ` +
76
+ `with keyAgreement purpose to use protocol encryption.`);
77
+ }
78
+ // 3. Resolve the verification method (handle both inline and string refs)
79
+ const keyAgreementRef = keyAgreementRefs[0];
80
+ let verificationMethod;
81
+ if (typeof keyAgreementRef === 'string') {
82
+ const fragment = keyAgreementRef.includes('#')
83
+ ? keyAgreementRef.split('#').pop()
84
+ : keyAgreementRef;
85
+ verificationMethod = (_a = didDocument.verificationMethod) === null || _a === void 0 ? void 0 : _a.find(vm => vm.id.endsWith(`#${fragment}`));
86
+ }
87
+ else {
88
+ verificationMethod = keyAgreementRef;
89
+ }
90
+ if (!(verificationMethod === null || verificationMethod === void 0 ? void 0 : verificationMethod.publicKeyJwk)) {
91
+ throw new Error(`AgentDwnApi: keyAgreement verification method for '${didUri}' ` +
92
+ `does not contain a public key in JWK format.`);
93
+ }
94
+ // 4. Verify it's an X25519 key
95
+ const publicKeyJwk = verificationMethod.publicKeyJwk;
96
+ if (publicKeyJwk.crv !== 'X25519') {
97
+ throw new Error(`AgentDwnApi: keyAgreement key for '${didUri}' uses curve ` +
98
+ `'${publicKeyJwk.crv}', but DWN encryption requires 'X25519'.`);
99
+ }
100
+ // 5. Compute the KMS key URI (does NOT export the key)
101
+ const keyUri = yield agent.keyManager.getKeyUri({ key: publicKeyJwk });
102
+ return {
103
+ keyId: verificationMethod.id,
104
+ keyUri,
105
+ publicKeyJwk: publicKeyJwk,
106
+ };
107
+ });
108
+ }
109
+ /**
110
+ * Derives a ProtocolContext public key for a given DID and context ID,
111
+ * then returns a fully-formed EncryptionInput. Consolidates the repeated
112
+ * getEncryptionKeyInfo -> constructKeyDerivationPath -> derivePublicKey
113
+ * -> build EncryptionInput sequence.
114
+ *
115
+ * @param agent - The platform agent
116
+ * @param didUri - The DID URI to derive encryption key for
117
+ * @param contextId - The context ID
118
+ * @param dek - Data encryption key
119
+ * @param iv - Initialization vector
120
+ */
121
+ export function deriveContextEncryptionInput(agent, didUri, contextId, dek, iv) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ const { keyId, keyUri } = yield getEncryptionKeyInfo(agent, didUri);
124
+ const contextDerivationPath = Records.constructKeyDerivationPathUsingProtocolContextScheme(contextId);
125
+ const contextPublicKey = yield agent.keyManager.derivePublicKey({
126
+ keyUri,
127
+ derivationPath: contextDerivationPath,
128
+ });
129
+ const encryptionInput = buildEncryptionInput(dek, iv, keyId, contextPublicKey, KeyDerivationScheme.ProtocolContext);
130
+ return { encryptionInput, keyId, keyUri, contextDerivationPath };
131
+ });
132
+ }
133
+ /**
134
+ * Builds a KMS-backed JWE key unwrap callback. Used for both ProtocolPath
135
+ * and ProtocolContext decryption where the KMS holds the root private key.
136
+ *
137
+ * @param agent - The platform agent with access to the key manager
138
+ * @param keyId - The root key ID
139
+ * @param keyUri - The KMS key URI
140
+ * @param derivationScheme - The key derivation scheme
141
+ */
142
+ export function buildKmsDecryptCallback(agent, keyId, keyUri, derivationScheme) {
143
+ const keyManager = agent.keyManager;
144
+ return {
145
+ rootKeyId: keyId,
146
+ derivationScheme,
147
+ decrypt: (fullDerivationPath, jwePayload) => __awaiter(this, void 0, void 0, function* () {
148
+ return keyManager.jweKeyUnwrap({
149
+ keyUri,
150
+ derivationPath: fullDerivationPath,
151
+ encryptedKey: jwePayload.encryptedKey,
152
+ ephemeralPublicKey: jwePayload.ephemeralPublicKey,
153
+ });
154
+ }),
155
+ };
156
+ }
157
+ /**
158
+ * Constructs an EncryptionKeyDeriver callback for the SDK.
159
+ * The SDK calls derivePublicKey(path), the KMS performs HKDF + public key
160
+ * computation internally. The private key never leaves the KMS.
161
+ *
162
+ * Analogous to getSigner() for signing operations.
163
+ *
164
+ * @param agent - The platform agent
165
+ * @param didUri - The DID URI to create the key deriver for
166
+ * @returns An EncryptionKeyDeriver callback object
167
+ */
168
+ export function getEncryptionKeyDeriver(agent, didUri) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ const { keyId, keyUri } = yield getEncryptionKeyInfo(agent, didUri);
171
+ const keyManager = agent.keyManager;
172
+ return {
173
+ rootKeyId: keyId,
174
+ derivationScheme: KeyDerivationScheme.ProtocolPath,
175
+ derivePublicKey: (fullDerivationPath) => __awaiter(this, void 0, void 0, function* () {
176
+ return keyManager.derivePublicKey({
177
+ keyUri,
178
+ derivationPath: fullDerivationPath,
179
+ });
180
+ }),
181
+ };
182
+ });
183
+ }
184
+ /**
185
+ * Constructs a ProtocolPath KeyDecrypter.
186
+ *
187
+ * @param agent - The platform agent
188
+ * @param didUri - The DID URI to create the key decrypter for
189
+ * @returns A KeyDecrypter callback object
190
+ */
191
+ export function getKeyDecrypter(agent, didUri) {
192
+ return __awaiter(this, void 0, void 0, function* () {
193
+ const { keyId, keyUri } = yield getEncryptionKeyInfo(agent, didUri);
194
+ return buildKmsDecryptCallback(agent, keyId, keyUri, KeyDerivationScheme.ProtocolPath);
195
+ });
196
+ }
197
+ /**
198
+ * Builds a KeyDecrypter from a context-derived private key.
199
+ * Uses the raw key directly (since it was shared with us via the key-delivery protocol).
200
+ *
201
+ * @param contextKey - The derived private key for the context
202
+ */
203
+ export function buildContextKeyDecrypter(contextKey) {
204
+ return {
205
+ rootKeyId: contextKey.rootKeyId,
206
+ derivationScheme: contextKey.derivationScheme,
207
+ decrypt: (fullDerivationPath, jwePayload) => __awaiter(this, void 0, void 0, function* () {
208
+ const leafPrivateKeyBytes = yield Records.derivePrivateKey(contextKey, fullDerivationPath);
209
+ const leafPrivateKeyJwk = yield X25519.bytesToPrivateKey({ privateKeyBytes: leafPrivateKeyBytes });
210
+ return Encryption.ecdhEsUnwrapKey(leafPrivateKeyJwk, jwePayload.ephemeralPublicKey, jwePayload.encryptedKey);
211
+ }),
212
+ };
213
+ }
214
+ /**
215
+ * Resolves the appropriate KeyDecrypter for a record's encryption scheme.
216
+ * Handles both single-party (ProtocolPath) and multi-party (ProtocolContext).
217
+ *
218
+ * For ProtocolContext records:
219
+ * - Context creator: derives key directly from KMS
220
+ * - Participant: fetches contextKey via key-delivery protocol, caches it
221
+ *
222
+ * @param agent - The platform agent
223
+ * @param authorDid - The DID of the author attempting to decrypt
224
+ * @param recordsWrite - The records write message containing encryption info
225
+ * @param targetDid - The target DID (DWN owner), if known
226
+ * @param contextDerivedKeyCache - Cache for context-derived private keys
227
+ * @param fetchContextKeyRecordFn - Function to fetch context key records from key-delivery protocol
228
+ */
229
+ export function resolveKeyDecrypter(agent, authorDid, recordsWrite, targetDid, contextDerivedKeyCache, fetchContextKeyRecordFn) {
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ const { encryption } = recordsWrite;
232
+ // Check if the record uses context-derived encryption
233
+ const hasContextKey = encryption === null || encryption === void 0 ? void 0 : encryption.recipients.some((r) => r.header.derivationScheme === KeyDerivationScheme.ProtocolContext);
234
+ if (!hasContextKey || !recordsWrite.contextId) {
235
+ // Single-party protocol-path encryption
236
+ return getKeyDecrypter(agent, authorDid);
237
+ }
238
+ // --- Multi-party context encryption ---
239
+ const contextKeyEntry = encryption.recipients.find((r) => r.header.derivationScheme === KeyDerivationScheme.ProtocolContext);
240
+ const rootContextId = recordsWrite.contextId.split('/')[0];
241
+ // Case 1: I am the context creator — rootKeyId matches my encryption key
242
+ const { keyId, keyUri } = yield getEncryptionKeyInfo(agent, authorDid);
243
+ if (contextKeyEntry.header.kid === keyId) {
244
+ return buildKmsDecryptCallback(agent, keyId, keyUri, KeyDerivationScheme.ProtocolContext);
245
+ }
246
+ // Case 2: I am a participant — fetch my context key from the key-delivery protocol
247
+ const cacheKey = `ctx~${authorDid}~${rootContextId}`;
248
+ const cached = contextDerivedKeyCache.get(cacheKey);
249
+ if (cached) {
250
+ return buildContextKeyDecrypter(cached);
251
+ }
252
+ // Fetch context key via the key-delivery protocol — local first, then remote
253
+ const protocol = recordsWrite.descriptor.protocol;
254
+ // Try local: I may be the DWN owner with a contextKey addressed to myself
255
+ let contextDerivedPrivateKey = yield fetchContextKeyRecordFn({
256
+ ownerDid: authorDid,
257
+ requesterDid: authorDid,
258
+ sourceProtocol: protocol,
259
+ sourceContextId: rootContextId,
260
+ });
261
+ // Try remote: query the DWN owner's DWN for my contextKey record.
262
+ // For cross-DWN records, targetDid is the DWN owner (e.g., Alice) where the
263
+ // contextKey was written. For same-DWN records, fall back to the record's
264
+ // authorization signer.
265
+ if (!contextDerivedPrivateKey) {
266
+ const { Jws } = yield import('@enbox/dwn-sdk-js');
267
+ const contextOwnerDid = targetDid !== null && targetDid !== void 0 ? targetDid : Jws.getSignerDid(recordsWrite.authorization.signature.signatures[0]);
268
+ contextDerivedPrivateKey = yield fetchContextKeyRecordFn({
269
+ ownerDid: contextOwnerDid,
270
+ requesterDid: authorDid,
271
+ sourceProtocol: protocol,
272
+ sourceContextId: rootContextId,
273
+ });
274
+ }
275
+ if (!contextDerivedPrivateKey) {
276
+ throw new Error(`AgentDwnApi: Failed to decrypt record '${recordsWrite.recordId}'. ` +
277
+ `Record uses context-derived encryption but no contextKey record ` +
278
+ `could be found via the key-delivery protocol.`);
279
+ }
280
+ contextDerivedKeyCache.set(cacheKey, contextDerivedPrivateKey);
281
+ return buildContextKeyDecrypter(contextDerivedPrivateKey);
282
+ });
283
+ }
284
+ /**
285
+ * Post-processes a DWN reply, auto-decrypting data if encryption is enabled.
286
+ * Delegates to the SDK's Records.decrypt() with the appropriate KeyDecrypter —
287
+ * resolveKeyDecrypter() selects between ProtocolPath and ProtocolContext schemes.
288
+ *
289
+ * @param request - The original DWN request
290
+ * @param reply - The DWN reply to process
291
+ * @param agent - The platform agent
292
+ * @param contextDerivedKeyCache - Cache for context-derived private keys
293
+ * @param fetchContextKeyRecordFn - Function to fetch context key records
294
+ */
295
+ export function maybeDecryptReply(request, reply, agent, contextDerivedKeyCache, fetchContextKeyRecordFn) {
296
+ return __awaiter(this, void 0, void 0, function* () {
297
+ var _a, _b, _c;
298
+ if (!('encryption' in request) || !request.encryption) {
299
+ return;
300
+ }
301
+ // Auto-decrypt RecordsRead replies
302
+ if (isDwnRequest(request, DwnInterface.RecordsRead)) {
303
+ const readReply = reply;
304
+ if (readReply.status.code === 200
305
+ && ((_b = (_a = readReply.entry) === null || _a === void 0 ? void 0 : _a.recordsWrite) === null || _b === void 0 ? void 0 : _b.encryption)
306
+ && ((_c = readReply.entry) === null || _c === void 0 ? void 0 : _c.data)) {
307
+ const keyDecrypter = yield resolveKeyDecrypter(agent, request.author, readReply.entry.recordsWrite, request.target, contextDerivedKeyCache, fetchContextKeyRecordFn);
308
+ try {
309
+ readReply.entry.data = yield Records.decrypt(readReply.entry.recordsWrite, keyDecrypter, readReply.entry.data);
310
+ }
311
+ catch (error) {
312
+ throw new Error(`AgentDwnApi: Failed to decrypt record ` +
313
+ `'${readReply.entry.recordsWrite.recordId}'. ` +
314
+ `Original error: ${error.message}`);
315
+ }
316
+ }
317
+ }
318
+ // Auto-decrypt RecordsQuery replies (small records inline as encodedData)
319
+ if (isDwnRequest(request, DwnInterface.RecordsQuery)) {
320
+ const queryReply = reply;
321
+ if (queryReply.status.code === 200 && queryReply.entries) {
322
+ for (const entry of queryReply.entries) {
323
+ if (entry.encryption && entry.encodedData) {
324
+ const keyDecrypter = yield resolveKeyDecrypter(agent, request.author, entry, request.target, contextDerivedKeyCache, fetchContextKeyRecordFn);
325
+ try {
326
+ const cipherBytes = Encoder.base64UrlToBytes(entry.encodedData);
327
+ const cipherStream = DataStream.fromBytes(cipherBytes);
328
+ const plainStream = yield Records.decrypt(entry, keyDecrypter, cipherStream);
329
+ const plainBytes = yield DataStream.toBytes(plainStream);
330
+ entry.encodedData = Encoder.bytesToBase64Url(plainBytes);
331
+ }
332
+ catch (error) {
333
+ throw new Error(`AgentDwnApi: Failed to decrypt record ` +
334
+ `'${entry.recordId}'. Original error: ${error.message}`);
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
340
+ });
341
+ }
342
+ //# sourceMappingURL=dwn-encryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwn-encryption.js","sourceRoot":"","sources":["../../src/dwn-encryption.ts"],"names":[],"mappings":";;;;;;;;;AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EACL,GAAG,EACH,0BAA0B,EAC1B,UAAU,EACV,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAqC;IAC5D,OAAO,SAAS,KAAK,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAe,EACf,EAAc,EACd,WAAmB,EACnB,SAAuB,EACvB,gBAAsG;IAEtG,OAAO;QACL,oBAAoB,EAAG,EAAE;QACzB,GAAG,EAAoB,GAAG;QAC1B,mBAAmB,EAAI,CAAC;gBACtB,WAAW;gBACX,SAAS;gBACT,gBAAgB;aACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAgB,oBAAoB;yDACxC,cAA0B,EAC1B,GAAe,EACf,EAAc,EACd,YAAwC,0BAA0B,CAAC,OAAO;QAE1E,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,MAAM,UAAU,CAAC,iBAAiB,CACrF,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CACzD,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACzF,CAAC;CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAgB,oBAAoB,CACxC,KAAwB,EACxB,MAAc;;;QAMd,8BAA8B;QAC9B,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,uCAAuC,MAAM,KAAK;gBAClD,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,qBAAqB,MAAM,iCAAiC;gBAC5D,8DAA8D;gBAC9D,uDAAuD,CACxD,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,kBAAkB,CAAC;QACvB,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBAClC,CAAC,CAAC,eAAe,CAAC;YACpB,kBAAkB,GAAG,MAAA,WAAW,CAAC,kBAAkB,0CAAE,IAAI,CACvD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,CACrC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kBAAkB,GAAG,eAAe,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,YAAY,CAAA,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,sDAAsD,MAAM,IAAI;gBAChE,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC;QACrD,IAAI,YAAY,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,eAAe;gBAC3D,IAAI,YAAY,CAAC,GAAG,0CAA0C,CAC/D,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QAEvE,OAAO;YACL,KAAK,EAAU,kBAAkB,CAAC,EAAE;YACpC,MAAM;YACN,YAAY,EAAG,YAA4B;SAC5C,CAAC;IACJ,CAAC;CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAgB,4BAA4B,CAChD,KAAwB,EACxB,MAAc,EACd,SAAiB,EACjB,GAAe,EACf,EAAc;;QAOd,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,qBAAqB,GACzB,OAAO,CAAC,oDAAoD,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;YAC9D,MAAM;YACN,cAAc,EAAE,qBAAqB;SACtC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,oBAAoB,CAC1C,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,eAAe,CACtE,CAAC;QAEF,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACnE,CAAC;CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAwB,EACxB,KAAa,EACb,MAAqB,EACrB,gBAAsG;IAEtG,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,OAAO;QACL,SAAS,EAAG,KAAK;QACjB,gBAAgB;QAChB,OAAO,EAAK,CAAO,kBAAkB,EAAE,UAAU,EAAuB,EAAE;YACxE,OAAO,UAAU,CAAC,YAAY,CAAC;gBAC7B,MAAM;gBACN,cAAc,EAAO,kBAAkB;gBACvC,YAAY,EAAS,UAAU,CAAC,YAAY;gBAC5C,kBAAkB,EAAG,UAAU,CAAC,kBAAkB;aACnD,CAAC,CAAC;QACL,CAAC,CAAA;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAgB,uBAAuB,CAC3C,KAAwB,EACxB,MAAc;;QAEd,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAEpC,OAAO;YACL,SAAS,EAAU,KAAK;YACxB,gBAAgB,EAAG,mBAAmB,CAAC,YAAY;YACnD,eAAe,EAAI,CAAO,kBAA4B,EAAyB,EAAE;gBAC/E,OAAO,UAAU,CAAC,eAAe,CAAC;oBAChC,MAAM;oBACN,cAAc,EAAE,kBAAkB;iBACnC,CAAC,CAAC;YACL,CAAC,CAAA;SACF,CAAC;IACJ,CAAC;CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAgB,eAAe,CACnC,KAAwB,EACxB,MAAc;;QAEd,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAA6B;IAE7B,OAAO;QACL,SAAS,EAAU,UAAU,CAAC,SAAS;QACvC,gBAAgB,EAAG,UAAU,CAAC,gBAAgB;QAC9C,OAAO,EAAY,CAAO,kBAAkB,EAAE,UAAU,EAAuB,EAAE;YAC/E,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,gBAAgB,CACxD,UAAU,EAAE,kBAAkB,CAC/B,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACnG,OAAO,UAAU,CAAC,eAAe,CAAC,iBAAiB,EAAE,UAAU,CAAC,kBAAkB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QAC/G,CAAC,CAAA;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAgB,mBAAmB,CACvC,KAAwB,EACxB,SAAiB,EACjB,YAAiC,EACjC,SAA6B,EAC7B,sBAA6H,EAC7H,uBAK4C;;QAE5C,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAEpC,sDAAsD;QACtD,MAAM,aAAa,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAC,IAAI,CAC/C,CAAC,CAA2C,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,KAAK,mBAAmB,CAAC,eAAe,CACnH,CAAC;QAEF,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAC9C,wCAAwC;YACxC,OAAO,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,yCAAyC;QACzC,MAAM,eAAe,GAAG,UAAW,CAAC,UAAU,CAAC,IAAI,CACjD,CAAC,CAA2C,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,KAAK,mBAAmB,CAAC,eAAe,CAClH,CAAC;QAEH,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,yEAAyE;QACzE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACvE,IAAI,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAC5F,CAAC;QAED,mFAAmF;QACnF,MAAM,QAAQ,GAAG,OAAO,SAAS,IAAI,aAAa,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,QAAS,CAAC;QAEnD,0EAA0E;QAC1E,IAAI,wBAAwB,GAAG,MAAM,uBAAuB,CAAC;YAC3D,QAAQ,EAAU,SAAS;YAC3B,YAAY,EAAM,SAAS;YAC3B,cAAc,EAAI,QAAQ;YAC1B,eAAe,EAAG,aAAa;SAChC,CAAC,CAAC;QAEH,kEAAkE;QAClE,4EAA4E;QAC5E,0EAA0E;QAC1E,wBAAwB;QACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,CAAC,YAAY,CACnD,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CACnD,CAAC;YACF,wBAAwB,GAAG,MAAM,uBAAuB,CAAC;gBACvD,QAAQ,EAAU,eAAe;gBACjC,YAAY,EAAM,SAAS;gBAC3B,cAAc,EAAI,QAAQ;gBAC1B,eAAe,EAAG,aAAa;aAChC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,0CAA0C,YAAY,CAAC,QAAQ,KAAK;gBACpE,kEAAkE;gBAClE,+CAA+C,CAChD,CAAC;QACJ,CAAC;QAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QAC/D,OAAO,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC;CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAgB,iBAAiB,CACrC,OAAiD,EACjD,KAAyB,EACzB,KAAwB,EACxB,sBAA6H,EAC7H,uBAK4C;;;QAE5C,IAAI,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,YAAY,CAAC,OAA0C,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YACvF,MAAM,SAAS,GAAG,KAAyB,CAAC;YAC5C,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG;oBAC1B,MAAA,MAAA,SAAS,CAAC,KAAK,0CAAE,YAAY,0CAAE,UAAU,CAAA;oBACzC,MAAA,SAAS,CAAC,KAAK,0CAAE,IAAI,CAAA,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC5C,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EACnE,sBAAsB,EAAE,uBAAuB,CAChD,CAAC;gBAEF,IAAI,CAAC;oBACH,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAC1C,SAAS,CAAC,KAAK,CAAC,YAAY,EAC5B,YAAY,EACZ,SAAS,CAAC,KAAK,CAAC,IAAI,CACrB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACb,wCAAwC;wBACxC,IAAI,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,KAAK;wBAC9C,mBAAmB,KAAK,CAAC,OAAO,EAAE,CACnC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,YAAY,CAAC,OAA0C,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACxF,MAAM,UAAU,GAAG,KAA0B,CAAC;YAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACzD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvC,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;wBAC1C,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC5C,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAA4B,EAAE,OAAO,CAAC,MAAM,EACnE,sBAAsB,EAAE,uBAAuB,CAChD,CAAC;wBAEF,IAAI,CAAC;4BACH,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;4BAChE,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;4BACvD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CACvC,KAA4B,EAAE,YAAY,EAAE,YAAY,CACzD,CAAC;4BACF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;4BACzD,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;wBAC3D,CAAC;wBAAC,OAAO,KAAU,EAAE,CAAC;4BACpB,MAAM,IAAI,KAAK,CACb,wCAAwC;gCACxC,IAAI,KAAK,CAAC,QAAQ,sBAAsB,KAAK,CAAC,OAAO,EAAE,CACxD,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CAAA"}