@bsv/sdk 1.9.30 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/package.json +3 -2
- package/dist/cjs/src/auth/Peer.js +68 -48
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +19 -0
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +72 -27
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +28 -54
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +36 -1
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +27 -0
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +35 -46
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/Peer.js +68 -48
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +19 -0
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +71 -26
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +28 -54
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +36 -1
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +27 -0
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +35 -46
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +2 -0
- package/dist/types/src/auth/types.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +19 -0
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts +18 -0
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +8 -0
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +24 -0
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +27 -0
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/ReductionContext.d.ts +9 -0
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +3 -3
- package/dist/umd/bundle.js.map +1 -1
- package/docs/index.md +15 -1
- package/docs/reference/auth.md +2 -0
- package/docs/reference/primitives.md +91 -31
- package/package.json +3 -2
- package/src/auth/Peer.ts +122 -57
- package/src/auth/__tests/Peer.test.ts +166 -257
- package/src/auth/types.ts +2 -0
- package/src/messages/EncryptedMessage.ts +19 -0
- package/src/primitives/AESGCM.ts +75 -34
- package/src/primitives/BigNumber.ts +27 -31
- package/src/primitives/ECDSA.ts +41 -2
- package/src/primitives/PrivateKey.ts +27 -0
- package/src/primitives/ReductionContext.ts +44 -48
- package/src/primitives/__tests/AESGCM.test.ts +31 -0
- package/src/primitives/__tests/ECDSA.test.ts +16 -0
package/dist/cjs/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bsv/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "BSV Blockchain Software Development Kit",
|
|
6
6
|
"files": [
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"prepublish": "npm run build",
|
|
24
24
|
"doc": "ts2md",
|
|
25
25
|
"docs:serve": "mkdocs serve",
|
|
26
|
-
"docs:build": "mkdocs build"
|
|
26
|
+
"docs:build": "mkdocs build",
|
|
27
|
+
"test:ci": "npm run build && jest --forceExit"
|
|
27
28
|
},
|
|
28
29
|
"repository": {
|
|
29
30
|
"type": "git",
|
|
@@ -104,7 +104,13 @@ class Peer {
|
|
|
104
104
|
identityKey = this.lastInteractedWithPeer;
|
|
105
105
|
}
|
|
106
106
|
const peerSession = await this.getAuthenticatedSession(identityKey, maxWaitTime);
|
|
107
|
-
|
|
107
|
+
if (peerSession.peerIdentityKey == null) {
|
|
108
|
+
throw new Error('Peer identity is not established');
|
|
109
|
+
}
|
|
110
|
+
if (peerSession.certificatesRequired === true &&
|
|
111
|
+
peerSession.certificatesValidated !== true) {
|
|
112
|
+
throw new Error('Cannot send general message before certificate validation is complete');
|
|
113
|
+
}
|
|
108
114
|
const requestNonce = Utils.toBase64((0, Random_js_1.default)(32));
|
|
109
115
|
const { signature } = await this.wallet.createSignature({
|
|
110
116
|
data: message,
|
|
@@ -274,14 +280,16 @@ class Peer {
|
|
|
274
280
|
* @returns {Promise<string>} A promise that resolves to the session nonce.
|
|
275
281
|
*/
|
|
276
282
|
async initiateHandshake(identityKey, maxWaitTime = 10000) {
|
|
277
|
-
const sessionNonce = await (0, index_js_1.createNonce)(this.wallet, undefined, this.originator);
|
|
278
|
-
// Create the preliminary session (not yet authenticated)
|
|
283
|
+
const sessionNonce = await (0, index_js_1.createNonce)(this.wallet, undefined, this.originator);
|
|
279
284
|
const now = Date.now();
|
|
285
|
+
const certificatesRequired = this.certificatesToRequest.certifiers.length > 0;
|
|
280
286
|
this.sessionManager.addSession({
|
|
281
287
|
isAuthenticated: false,
|
|
282
288
|
sessionNonce,
|
|
283
289
|
peerIdentityKey: identityKey,
|
|
284
|
-
lastUpdate: now
|
|
290
|
+
lastUpdate: now,
|
|
291
|
+
certificatesRequired,
|
|
292
|
+
certificatesValidated: !certificatesRequired
|
|
285
293
|
});
|
|
286
294
|
const initialRequest = {
|
|
287
295
|
version: AUTH_VERSION,
|
|
@@ -365,24 +373,30 @@ class Peer {
|
|
|
365
373
|
if (typeof message.version !== 'string' || message.version !== AUTH_VERSION) {
|
|
366
374
|
throw new Error(`Invalid or unsupported message auth version! Received: ${message.version}, expected: ${AUTH_VERSION}`);
|
|
367
375
|
}
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
376
|
+
try {
|
|
377
|
+
switch (message.messageType) {
|
|
378
|
+
case 'initialRequest':
|
|
379
|
+
await this.processInitialRequest(message);
|
|
380
|
+
break;
|
|
381
|
+
case 'initialResponse':
|
|
382
|
+
await this.processInitialResponse(message);
|
|
383
|
+
break;
|
|
384
|
+
case 'certificateRequest':
|
|
385
|
+
await this.processCertificateRequest(message);
|
|
386
|
+
break;
|
|
387
|
+
case 'certificateResponse':
|
|
388
|
+
await this.processCertificateResponse(message);
|
|
389
|
+
break;
|
|
390
|
+
case 'general':
|
|
391
|
+
await this.processGeneralMessage(message);
|
|
392
|
+
break;
|
|
393
|
+
default:
|
|
394
|
+
throw new Error(`Unknown message type of ${String(message.messageType)} from ${String(message.identityKey)}`);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
catch (err) {
|
|
398
|
+
// Swallow protocol violations so transport does not crash the process
|
|
399
|
+
// (Message is intentionally rejected)
|
|
386
400
|
}
|
|
387
401
|
}
|
|
388
402
|
/**
|
|
@@ -396,34 +410,32 @@ class Peer {
|
|
|
396
410
|
message.initialNonce === '') {
|
|
397
411
|
throw new Error('Missing required fields in initialRequest message.');
|
|
398
412
|
}
|
|
399
|
-
// Create a new sessionNonce for our side
|
|
400
413
|
const sessionNonce = await (0, index_js_1.createNonce)(this.wallet, undefined, this.originator);
|
|
401
414
|
const now = Date.now();
|
|
402
|
-
|
|
415
|
+
const certificatesRequired = Array.isArray(this.certificatesToRequest?.certifiers) &&
|
|
416
|
+
this.certificatesToRequest.certifiers.length > 0;
|
|
403
417
|
this.sessionManager.addSession({
|
|
404
418
|
isAuthenticated: true,
|
|
405
419
|
sessionNonce,
|
|
406
420
|
peerNonce: message.initialNonce,
|
|
407
421
|
peerIdentityKey: message.identityKey,
|
|
408
|
-
lastUpdate: now
|
|
422
|
+
lastUpdate: now,
|
|
423
|
+
certificatesRequired,
|
|
424
|
+
certificatesValidated: !certificatesRequired
|
|
409
425
|
});
|
|
410
|
-
// Possibly handle the peer's requested certs
|
|
411
426
|
let certificatesToInclude;
|
|
412
|
-
|
|
413
|
-
|
|
427
|
+
// Handle THEIR certificate request (if any)
|
|
428
|
+
if (Array.isArray(message.requestedCertificates?.certifiers) &&
|
|
414
429
|
message.requestedCertificates.certifiers.length > 0) {
|
|
415
430
|
if (this.onCertificateRequestReceivedCallbacks.size > 0) {
|
|
416
|
-
// Let the application handle it
|
|
417
431
|
this.onCertificateRequestReceivedCallbacks.forEach(cb => {
|
|
418
432
|
cb(message.identityKey, message.requestedCertificates);
|
|
419
433
|
});
|
|
420
434
|
}
|
|
421
435
|
else {
|
|
422
|
-
// Attempt to find automatically
|
|
423
436
|
certificatesToInclude = await (0, index_js_1.getVerifiableCertificates)(this.wallet, message.requestedCertificates, message.identityKey, this.originator);
|
|
424
437
|
}
|
|
425
438
|
}
|
|
426
|
-
// Create signature
|
|
427
439
|
const { signature } = await this.wallet.createSignature({
|
|
428
440
|
data: Peer.base64ToBytes(message.initialNonce + sessionNonce),
|
|
429
441
|
protocolID: [2, 'auth message signature'],
|
|
@@ -440,11 +452,9 @@ class Peer {
|
|
|
440
452
|
requestedCertificates: this.certificatesToRequest,
|
|
441
453
|
signature
|
|
442
454
|
};
|
|
443
|
-
// If we haven't interacted with a peer yet, store this identity as "lastInteracted"
|
|
444
455
|
if (this.lastInteractedWithPeer === undefined) {
|
|
445
456
|
this.lastInteractedWithPeer = message.identityKey;
|
|
446
457
|
}
|
|
447
|
-
// Send the response
|
|
448
458
|
await this.transport.send(initialResponseMessage);
|
|
449
459
|
}
|
|
450
460
|
/**
|
|
@@ -459,12 +469,10 @@ class Peer {
|
|
|
459
469
|
if (!validNonce) {
|
|
460
470
|
throw new Error(`Initial response nonce verification failed from peer: ${message.identityKey}`);
|
|
461
471
|
}
|
|
462
|
-
// This is the session we previously created by calling initiateHandshake
|
|
463
472
|
const peerSession = this.sessionManager.getSession(message.yourNonce);
|
|
464
473
|
if (peerSession == null) {
|
|
465
474
|
throw new Error(`Peer session not found for peer: ${message.identityKey}`);
|
|
466
475
|
}
|
|
467
|
-
// Validate message signature
|
|
468
476
|
const dataToVerify = Peer.base64ToBytes((peerSession.sessionNonce ?? '') + (message.initialNonce ?? ''));
|
|
469
477
|
const { valid } = await this.wallet.verifySignature({
|
|
470
478
|
data: dataToVerify,
|
|
@@ -476,39 +484,45 @@ class Peer {
|
|
|
476
484
|
if (!valid) {
|
|
477
485
|
throw new Error(`Unable to verify initial response signature for peer: ${message.identityKey}`);
|
|
478
486
|
}
|
|
479
|
-
//
|
|
487
|
+
// --- Transport authentication complete ---
|
|
480
488
|
peerSession.peerNonce = message.initialNonce;
|
|
481
489
|
peerSession.peerIdentityKey = message.identityKey;
|
|
482
490
|
peerSession.isAuthenticated = true;
|
|
491
|
+
peerSession.certificatesRequired =
|
|
492
|
+
Array.isArray(this.certificatesToRequest?.certifiers) &&
|
|
493
|
+
this.certificatesToRequest.certifiers.length > 0;
|
|
494
|
+
// IMPORTANT: validation defaults to false if certs are required
|
|
495
|
+
peerSession.certificatesValidated = !peerSession.certificatesRequired;
|
|
483
496
|
peerSession.lastUpdate = Date.now();
|
|
484
497
|
this.sessionManager.updateSession(peerSession);
|
|
485
|
-
//
|
|
486
|
-
if (
|
|
487
|
-
message.certificates
|
|
498
|
+
// --- Validate certificates if provided ---
|
|
499
|
+
if (peerSession.certificatesRequired &&
|
|
500
|
+
Array.isArray(message.certificates) &&
|
|
501
|
+
message.certificates.length > 0) {
|
|
488
502
|
await (0, index_js_1.validateCertificates)(this.wallet, message, this.certificatesToRequest, this.originator);
|
|
489
|
-
|
|
503
|
+
peerSession.certificatesValidated = true;
|
|
504
|
+
peerSession.lastUpdate = Date.now();
|
|
505
|
+
this.sessionManager.updateSession(peerSession);
|
|
490
506
|
this.onCertificatesReceivedCallbacks.forEach(cb => cb(message.identityKey, message.certificates));
|
|
491
507
|
}
|
|
492
|
-
// Update
|
|
508
|
+
// Update last-interacted peer
|
|
493
509
|
this.lastInteractedWithPeer = message.identityKey;
|
|
494
|
-
//
|
|
510
|
+
// Release handshake waiters (even if certs still pending)
|
|
495
511
|
this.onInitialResponseReceivedCallbacks.forEach(entry => {
|
|
496
512
|
if (entry.sessionNonce === peerSession.sessionNonce) {
|
|
497
513
|
entry.callback(peerSession.sessionNonce);
|
|
498
514
|
}
|
|
499
515
|
});
|
|
500
|
-
//
|
|
501
|
-
if (
|
|
516
|
+
// --- Peer may request certificates from us ---
|
|
517
|
+
if (message.requestedCertificates != null &&
|
|
502
518
|
Array.isArray(message.requestedCertificates.certifiers) &&
|
|
503
519
|
message.requestedCertificates.certifiers.length > 0) {
|
|
504
520
|
if (this.onCertificateRequestReceivedCallbacks.size > 0) {
|
|
505
|
-
// Let the application handle it
|
|
506
521
|
this.onCertificateRequestReceivedCallbacks.forEach(cb => {
|
|
507
522
|
cb(message.identityKey, message.requestedCertificates);
|
|
508
523
|
});
|
|
509
524
|
}
|
|
510
525
|
else {
|
|
511
|
-
// Attempt auto
|
|
512
526
|
const verifiableCertificates = await (0, index_js_1.getVerifiableCertificates)(this.wallet, message.requestedCertificates, message.identityKey, this.originator);
|
|
513
527
|
await this.sendCertificateResponse(message.identityKey, verifiableCertificates);
|
|
514
528
|
}
|
|
@@ -624,12 +638,13 @@ class Peer {
|
|
|
624
638
|
}
|
|
625
639
|
// We also handle optional validation if there's a requestedCertificates field
|
|
626
640
|
await (0, index_js_1.validateCertificates)(this.wallet, message, message.requestedCertificates, this.originator);
|
|
641
|
+
peerSession.certificatesValidated = true;
|
|
642
|
+
peerSession.lastUpdate = Date.now();
|
|
643
|
+
this.sessionManager.updateSession(peerSession);
|
|
627
644
|
// Notify any listeners
|
|
628
645
|
this.onCertificatesReceivedCallbacks.forEach(cb => {
|
|
629
646
|
cb(message.identityKey, message.certificates ?? []);
|
|
630
647
|
});
|
|
631
|
-
peerSession.lastUpdate = Date.now();
|
|
632
|
-
this.sessionManager.updateSession(peerSession);
|
|
633
648
|
}
|
|
634
649
|
/**
|
|
635
650
|
* Processes a general message from a peer.
|
|
@@ -647,6 +662,11 @@ class Peer {
|
|
|
647
662
|
if (peerSession == null) {
|
|
648
663
|
throw new Error(`Session not found for nonce: ${message.yourNonce}`);
|
|
649
664
|
}
|
|
665
|
+
const certificatesRequired = peerSession.certificatesRequired === true;
|
|
666
|
+
const certificatesValidated = peerSession.certificatesValidated === true;
|
|
667
|
+
if (certificatesRequired && !certificatesValidated) {
|
|
668
|
+
throw new Error(`Received general message before certificate validation from peer ${peerSession.peerIdentityKey ?? 'unknown'}`);
|
|
669
|
+
}
|
|
650
670
|
const { valid } = await this.wallet.verifySignature({
|
|
651
671
|
data: message.payload,
|
|
652
672
|
signature: message.signature,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Peer.js","sourceRoot":"","sources":["../../../../src/auth/Peer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Peer.js","sourceRoot":"","sources":["../../../../src/auth/Peer.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,25 @@ const VERSION = '42421033';
|
|
|
17
17
|
*
|
|
18
18
|
* @returns The encrypted message
|
|
19
19
|
*/
|
|
20
|
+
/**
|
|
21
|
+
* SECURITY NOTE – NON-AUTHENTICATED KEY EXCHANGE
|
|
22
|
+
*
|
|
23
|
+
* This encrypted message protocol does NOT implement a formally authenticated
|
|
24
|
+
* key exchange (AKE). Session keys are deterministically derived from long-term
|
|
25
|
+
* identity keys and a sender-chosen invoice value.
|
|
26
|
+
*
|
|
27
|
+
* As a result, this protocol does NOT provide:
|
|
28
|
+
* - Forward secrecy
|
|
29
|
+
* - Replay protection
|
|
30
|
+
* - Explicit authentication of peer identity
|
|
31
|
+
*
|
|
32
|
+
* This scheme SHOULD NOT be used for high-value, long-lived, or sensitive
|
|
33
|
+
* communications. It is intended for lightweight messaging where both parties
|
|
34
|
+
* already possess each other's long-term public keys and accept these risks.
|
|
35
|
+
*
|
|
36
|
+
* Future versions may introduce a protocol upgrade based on a standard AKE
|
|
37
|
+
* (e.g. X3DH, Noise, or SIGMA).
|
|
38
|
+
*/
|
|
20
39
|
const encrypt = (message, sender, recipient) => {
|
|
21
40
|
const keyID = (0, Random_js_1.default)(32);
|
|
22
41
|
const keyIDBase64 = (0, utils_js_1.toBase64)(keyID);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedMessage.js","sourceRoot":"","sources":["../../../../src/messages/EncryptedMessage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EncryptedMessage.js","sourceRoot":"","sources":["../../../../src/messages/EncryptedMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// @ts-nocheck
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.incrementLeastSignificantThirtyTwoBits = exports.multiply = exports.rightShift = exports.exclusiveOR = exports.getBytes64 = exports.getBytes = exports.checkBit = void 0;
|
|
4
5
|
exports.AES = AES;
|
|
5
6
|
exports.ghash = ghash;
|
|
6
7
|
exports.AESGCM = AESGCM;
|
|
7
8
|
exports.AESGCMDecrypt = AESGCMDecrypt;
|
|
8
|
-
//
|
|
9
|
+
// NOTE:
|
|
10
|
+
// Table-based AES is intentionally retained for performance.
|
|
11
|
+
// JavaScript runtimes (JIT, GC, speculative execution) cannot provide
|
|
12
|
+
// strong constant-time guarantees, and arithmetic-only AES implementations
|
|
13
|
+
// cause catastrophic performance degradation in practice.
|
|
14
|
+
//
|
|
15
|
+
// This implementation therefore prioritizes correctness, performance,
|
|
16
|
+
// and compatibility over attempting misleading "constant-time" behavior.
|
|
17
|
+
//
|
|
18
|
+
// Applications requiring strict side-channel resistance SHOULD use
|
|
19
|
+
// platform-native crypto APIs (e.g. WebCrypto) or audited native libraries.
|
|
20
|
+
/**
|
|
21
|
+
* SECURITY DISCLAIMER – AES-GCM IMPLEMENTATION
|
|
22
|
+
*
|
|
23
|
+
* This module provides a self-contained AES-GCM implementation intended for
|
|
24
|
+
* functional correctness and portability with minimal dependencies.
|
|
25
|
+
*
|
|
26
|
+
* While efforts are made to reduce timing side-channel leakage (e.g. avoiding
|
|
27
|
+
* secret-dependent branches in GHASH), JavaScript does not guarantee
|
|
28
|
+
* constant-time execution. As such, this implementation should not be used in
|
|
29
|
+
* environments where attackers can reliably measure fine-grained execution
|
|
30
|
+
* timing (e.g. shared hosts, co-resident VMs, or untrusted browser contexts).
|
|
31
|
+
*
|
|
32
|
+
* For high-assurance cryptographic use cases, prefer platform-provided
|
|
33
|
+
* WebCrypto APIs or well-audited constant-time libraries.
|
|
34
|
+
*/
|
|
9
35
|
const SBox = new Uint8Array([
|
|
10
36
|
0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
|
|
11
37
|
0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
|
|
@@ -36,6 +62,18 @@ for (let i = 0; i < 256; i++) {
|
|
|
36
62
|
mul2[i] = m2;
|
|
37
63
|
mul3[i] = m2 ^ i;
|
|
38
64
|
}
|
|
65
|
+
function mixColumnsFast(state) {
|
|
66
|
+
for (let c = 0; c < 4; c++) {
|
|
67
|
+
const s0 = state[0][c];
|
|
68
|
+
const s1 = state[1][c];
|
|
69
|
+
const s2 = state[2][c];
|
|
70
|
+
const s3 = state[3][c];
|
|
71
|
+
state[0][c] = mul2[s0] ^ mul3[s1] ^ s2 ^ s3;
|
|
72
|
+
state[1][c] = s0 ^ mul2[s1] ^ mul3[s2] ^ s3;
|
|
73
|
+
state[2][c] = s0 ^ s1 ^ mul2[s2] ^ mul3[s3];
|
|
74
|
+
state[3][c] = mul3[s0] ^ s1 ^ s2 ^ mul2[s3];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
39
77
|
function addRoundKey(state, roundKeyArray, offset) {
|
|
40
78
|
for (let c = 0; c < 4; c++) {
|
|
41
79
|
const keyCol = roundKeyArray[offset + c];
|
|
@@ -81,18 +119,6 @@ function shiftRows(state) {
|
|
|
81
119
|
state[3][1] = state[3][0];
|
|
82
120
|
state[3][0] = tmp;
|
|
83
121
|
}
|
|
84
|
-
function mixColumns(state) {
|
|
85
|
-
for (let c = 0; c < 4; c++) {
|
|
86
|
-
const s0 = state[0][c];
|
|
87
|
-
const s1 = state[1][c];
|
|
88
|
-
const s2 = state[2][c];
|
|
89
|
-
const s3 = state[3][c];
|
|
90
|
-
state[0][c] = mul2[s0] ^ mul3[s1] ^ s2 ^ s3;
|
|
91
|
-
state[1][c] = s0 ^ mul2[s1] ^ mul3[s2] ^ s3;
|
|
92
|
-
state[2][c] = s0 ^ s1 ^ mul2[s2] ^ mul3[s3];
|
|
93
|
-
state[3][c] = mul3[s0] ^ s1 ^ s2 ^ mul2[s3];
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
122
|
function keyExpansion(roundLimit, key) {
|
|
97
123
|
const nK = key.length / 4;
|
|
98
124
|
const result = [];
|
|
@@ -153,7 +179,7 @@ function AES(input, key) {
|
|
|
153
179
|
subBytes(state);
|
|
154
180
|
shiftRows(state);
|
|
155
181
|
if (round + 1 < roundLimit) {
|
|
156
|
-
|
|
182
|
+
mixColumnsFast(state);
|
|
157
183
|
}
|
|
158
184
|
addRoundKey(state, w, round * 4);
|
|
159
185
|
}
|
|
@@ -226,11 +252,6 @@ const exclusiveOR = function (block0, block1) {
|
|
|
226
252
|
return result;
|
|
227
253
|
};
|
|
228
254
|
exports.exclusiveOR = exclusiveOR;
|
|
229
|
-
const xorInto = function (target, block) {
|
|
230
|
-
for (let i = 0; i < target.length; i++) {
|
|
231
|
-
target[i] ^= block[i] ?? 0;
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
255
|
const rightShift = function (block) {
|
|
235
256
|
let carry = 0;
|
|
236
257
|
let oldCarry = 0;
|
|
@@ -245,20 +266,44 @@ const rightShift = function (block) {
|
|
|
245
266
|
return block;
|
|
246
267
|
};
|
|
247
268
|
exports.rightShift = rightShift;
|
|
269
|
+
/**
|
|
270
|
+
* SECURITY NOTE – TIMING SIDE-CHANNEL MITIGATION
|
|
271
|
+
*
|
|
272
|
+
* This GHASH multiplication implementation avoids data-dependent conditional
|
|
273
|
+
* branches by using mask-based operations instead. This reduces timing
|
|
274
|
+
* side-channel leakage compared to a naive implementation that branches on
|
|
275
|
+
* secret bits.
|
|
276
|
+
*
|
|
277
|
+
* IMPORTANT: JavaScript and TypedArray operations do NOT provide constant-time
|
|
278
|
+
* execution guarantees. While this implementation mitigates obvious control-
|
|
279
|
+
* flow timing leaks, it must not be considered constant-time in a strict
|
|
280
|
+
* cryptographic sense and is not suitable for hostile shared-CPU or
|
|
281
|
+
* multi-tenant environments.
|
|
282
|
+
*
|
|
283
|
+
* Applications requiring strict constant-time AES-GCM SHOULD use a dedicated,
|
|
284
|
+
* audited cryptographic library (e.g. noble-ciphers, WebCrypto, or BearSSL
|
|
285
|
+
* bindings).
|
|
286
|
+
*/
|
|
248
287
|
const multiply = function (block0, block1) {
|
|
249
288
|
const v = block1.slice();
|
|
250
289
|
const z = createZeroBlock(16);
|
|
251
290
|
for (let i = 0; i < 16; i++) {
|
|
291
|
+
const b = block0[i];
|
|
252
292
|
for (let j = 7; j >= 0; j--) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
293
|
+
// mask = 0xff if bit is set, 0x00 otherwise
|
|
294
|
+
const bit = (b >> j) & 1;
|
|
295
|
+
const mask = -bit & 0xff;
|
|
296
|
+
// z ^= v & mask
|
|
297
|
+
for (let k = 0; k < 16; k++) {
|
|
298
|
+
z[k] ^= v[k] & mask;
|
|
259
299
|
}
|
|
260
|
-
|
|
261
|
-
|
|
300
|
+
// compute reduction mask
|
|
301
|
+
const lsb = v[15] & 1;
|
|
302
|
+
const rmask = -lsb & 0xff;
|
|
303
|
+
(0, exports.rightShift)(v);
|
|
304
|
+
// v ^= R & rmask
|
|
305
|
+
for (let k = 0; k < 16; k++) {
|
|
306
|
+
v[k] ^= R[k] & rmask;
|
|
262
307
|
}
|
|
263
308
|
}
|
|
264
309
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AESGCM.js","sourceRoot":"","sources":["../../../../src/primitives/AESGCM.ts"],"names":[],"mappings":";;;AAyIA,kBAgDC;AAwID,sBAaC;AAoHD,wBAqDC;AAED,sCAyEC;AAjkBD,cAAc;AACd,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;IAC1B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/F,CAAC,CAAA;AACF,MAAM,IAAI,GAAG;IACX,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACtG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACtG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CAC7E,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7B,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAChC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAClB,CAAC;AAED,SAAS,WAAW,CAClB,KAAiB,EACjB,aAAyB,EACzB,MAAc;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAE,KAAiB;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAE,KAAe;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAE,KAAe;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAErB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACnB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AACjB,CAAC;AAED,SAAS,SAAS,CAAE,KAAiB;IACnC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IAEjB,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IACjB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAElB,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AACnB,CAAC;AAED,SAAS,UAAU,CAAE,KAAiB;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;QAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;QAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAE,UAAkB,EAAE,GAAa;IACtD,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IACzB,MAAM,MAAM,GAAe,EAAE,CAAA;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;QAElC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,OAAO,CAAC,IAAI,CAAC,CAAA;YACb,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,GAAG,CAAE,KAAe,EAAE,GAAa;IACjD,IAAI,CAAC,CAAA;IACL,IAAI,CAAC,CAAA;IACL,IAAI,KAAa,CAAA;IACjB,IAAI,UAAU,CAAA;IACd,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvB,UAAU,GAAG,EAAE,CAAA;IACjB,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC9B,UAAU,GAAG,EAAE,CAAA;IACjB,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC9B,UAAU,GAAG,EAAE,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,CAAA;QACf,SAAS,CAAC,KAAK,CAAC,CAAA;QAEhB,IAAI,KAAK,GAAG,CAAC,GAAG,UAAU,EAAE,CAAC;YAC3B,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QAED,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,MAAM,QAAQ,GAAG,UACtB,SAAmB,EACnB,SAAiB,EACjB,QAAgB;IAEhB,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClE,CAAC,CAAA;AANY,QAAA,QAAQ,YAMpB;AAEM,MAAM,QAAQ,GAAG,UAAU,YAAoB;IACpD,OAAO;QACL,CAAC,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE;QAClC,CAAC,YAAY,GAAG,UAAU,CAAC,IAAI,EAAE;QACjC,CAAC,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;QAChC,YAAY,GAAG,UAAU;KAC1B,CAAA;AACH,CAAC,CAAA;AAPY,QAAA,QAAQ,YAOpB;AAEM,MAAM,UAAU,GAAG,UAAU,YAAoB;IACtD,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC,CAAA;IACjD,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAA;IAE7B,OAAO;QACL,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;QAClB,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;QAClB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI;QACjB,EAAE,GAAG,IAAI;QACT,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;QAClB,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;QAClB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI;QACjB,EAAE,GAAG,IAAI;KACV,CAAA;AACH,CAAC,CAAA;AAlBY,QAAA,UAAU,cAkBtB;AAID,MAAM,eAAe,GAAG,UAAU,MAAc;IAC9C,oCAAoC;IACpC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,4BAA4B;AAC5B,MAAM,CAAC,GAAU,CAAC,GAAG,EAAE;IACrB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACX,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,WAAW,GAAG,CAAC,GAAG,MAAe,EAAS,EAAE;IAChD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,KAAK,IAAI,CAAC,CAAC,MAAM,CAAA;IAEzC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAClB,MAAM,IAAI,CAAC,CAAC,MAAM,CAAA;IACpB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAEM,MAAM,WAAW,GAAG,UAAU,MAAa,EAAE,MAAa;IAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;IACzB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAPY,QAAA,WAAW,eAOvB;AAED,MAAM,OAAO,GAAG,UAAU,MAAa,EAAE,KAAY;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,UAAU,GAAG,UAAU,KAAY;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,QAAQ,GAAG,KAAK,CAAA;QAChB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QACvB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAExB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAfY,QAAA,UAAU,cAetB;AAEM,MAAM,QAAQ,GAAG,UAAU,MAAa,EAAE,MAAa;IAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;IACxB,MAAM,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACf,CAAC;YAED,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAA;gBACb,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAA;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AApBY,QAAA,QAAQ,YAoBpB;AAEM,MAAM,sCAAsC,GAAG,UACpD,KAAY;IAEZ,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;IAE5B,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA,CAAC,kBAAkB;QAErD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAdY,QAAA,sCAAsC,0CAclD;AAED,SAAgB,KAAK,CAAE,KAAY,EAAE,UAAiB;IACpD,IAAI,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QACD,MAAM,GAAG,IAAA,gBAAQ,EAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,IAAI,CACX,KAAY,EACZ,mBAA0B,EAC1B,GAAU;IAEV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAEhD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,YAAY,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAA;IAC9C,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACrC,GAAG,EAAE,CAAA;QACP,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACd,YAAY,GAAG,IAAA,8CAAsC,EAAC,YAAY,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,cAAc,CAAE,UAAiB;IACxC,MAAM,UAAU,GAAG,CAAC,CAAA;IACpB,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;IAEvC,IAAI,MAAc,CAAA;IAClB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,EAAE,CAAA;IACb,CAAC;SAAM,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,CAAC,CAAA;IACZ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,KAAK,GACT,EAAE;QACF,UAAU,CAAC,MAAM;QACjB,MAAM;QACN,EAAE,CAAA;IAEJ,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,MAAM,IAAI,EAAE,CAAA;IAEZ,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC3B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAA;IAE3B,MAAM,IAAI,MAAM,CAAA;IAEhB,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAA;IACrC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvB,MAAM,IAAI,CAAC,CAAA;IAEX,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAA;IACnC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAEtB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,SAAgB,MAAM,CACpB,SAAgB,EAChB,oBAA2B,EAC3B,GAAU;IAEV,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAEhE,IAAI,eAAsB,CAAA;IAE1B,IAAI,oBAAoB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvC,eAAe,GAAG,WAAW,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjG,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,GAAG,oBAAoB,CAAA;QACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,WAAW,CACpB,QAAQ,EACR,eAAe,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAC7C,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,GAAG,WAAW,CACnB,QAAQ,EACR,eAAe,CAAC,CAAC,CAAC,EAClB,IAAI,UAAU,CAAC,QAAQ,CAAC,CACzB,CAAA;QAED,eAAe,GAAG,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CACrB,SAAS,EACT,IAAA,8CAAsC,EAAC,eAAe,CAAC,EACvD,GAAG,CACJ,CAAA;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAE5C,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAEvD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,iBAAiB;KAClB,CAAA;AACH,CAAC;AAED,SAAgB,aAAa,CAC3B,UAAiB,EACjB,oBAA2B,EAC3B,iBAAwB,EACxB,GAAU;IAEV,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAEhE,IAAI,eAAsB,CAAA;IAE1B,IAAI,oBAAoB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvC,eAAe,GAAG,WAAW,CAC3B,oBAAoB,EACpB,eAAe,CAAC,CAAC,CAAC,EAClB,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CACvB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,GAAG,oBAAoB,CAAA;QACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,WAAW,CACpB,QAAQ,EACR,eAAe,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAC7C,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,GAAG,WAAW,CACnB,QAAQ,EACR,eAAe,CAAC,CAAC,CAAC,EAClB,IAAI,UAAU,CAAC,QAAQ,CAAC,CACzB,CAAA;QAED,eAAe,GAAG,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACxC,CAAC;IAED,mCAAmC;IACnC,MAAM,SAAS,GAAG,IAAI,CACpB,UAAU,EACV,IAAA,8CAAsC,EAAC,eAAe,CAAC,EACvD,GAAG,CACJ,CAAA;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACtC,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAEnD,IAAI,aAAa,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"AESGCM.js","sourceRoot":"","sources":["../../../../src/primitives/AESGCM.ts"],"names":[],"mappings":";AAAA,cAAc;;;AAoKd,kBAgDC;AAsJD,sBAaC;AAoHD,wBAqDC;AAED,sCAyEC;AAzmBD,QAAQ;AACR,6DAA6D;AAC7D,sEAAsE;AACtE,2EAA2E;AAC3E,0DAA0D;AAC1D,EAAE;AACF,sEAAsE;AACtE,yEAAyE;AACzE,EAAE;AACF,mEAAmE;AACnE,4EAA4E;AAC5E;;;;;;;;;;;;;;GAcG;AACH,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;IAC1B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC9F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI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"}
|