@digitaldefiance/ecies-lib 4.5.18 → 4.6.0

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 (63) hide show
  1. package/package.json +1 -1
  2. package/src/constants.d.ts +7 -0
  3. package/src/constants.d.ts.map +1 -1
  4. package/src/constants.js +25 -1
  5. package/src/constants.js.map +1 -1
  6. package/src/enumerations/index.d.ts +1 -0
  7. package/src/enumerations/index.d.ts.map +1 -1
  8. package/src/enumerations/index.js +1 -0
  9. package/src/enumerations/index.js.map +1 -1
  10. package/src/enumerations/voting-error-type.d.ts +37 -0
  11. package/src/enumerations/voting-error-type.d.ts.map +1 -0
  12. package/src/enumerations/voting-error-type.js +48 -0
  13. package/src/enumerations/voting-error-type.js.map +1 -0
  14. package/src/errors/index.d.ts +1 -0
  15. package/src/errors/index.d.ts.map +1 -1
  16. package/src/errors/index.js +1 -0
  17. package/src/errors/index.js.map +1 -1
  18. package/src/errors/voting.d.ts +16 -0
  19. package/src/errors/voting.d.ts.map +1 -0
  20. package/src/errors/voting.js +25 -0
  21. package/src/errors/voting.js.map +1 -0
  22. package/src/index.d.ts +2 -0
  23. package/src/index.d.ts.map +1 -1
  24. package/src/index.js +2 -0
  25. package/src/index.js.map +1 -1
  26. package/src/interfaces/constants.d.ts +2 -0
  27. package/src/interfaces/constants.d.ts.map +1 -1
  28. package/src/interfaces/ecies-library.d.ts +260 -0
  29. package/src/interfaces/ecies-library.d.ts.map +1 -0
  30. package/src/interfaces/ecies-library.js +9 -0
  31. package/src/interfaces/ecies-library.js.map +1 -0
  32. package/src/interfaces/index.d.ts +3 -0
  33. package/src/interfaces/index.d.ts.map +1 -1
  34. package/src/interfaces/index.js +3 -0
  35. package/src/interfaces/index.js.map +1 -1
  36. package/src/interfaces/platform-buffer.d.ts +9 -0
  37. package/src/interfaces/platform-buffer.d.ts.map +1 -0
  38. package/src/interfaces/platform-buffer.js +3 -0
  39. package/src/interfaces/platform-buffer.js.map +1 -0
  40. package/src/interfaces/voting-consts.d.ts +82 -0
  41. package/src/interfaces/voting-consts.d.ts.map +1 -0
  42. package/src/interfaces/voting-consts.js +3 -0
  43. package/src/interfaces/voting-consts.js.map +1 -0
  44. package/src/interfaces/voting-service.d.ts +172 -0
  45. package/src/interfaces/voting-service.d.ts.map +1 -0
  46. package/src/interfaces/voting-service.js +10 -0
  47. package/src/interfaces/voting-service.js.map +1 -0
  48. package/src/isolated-private.d.ts +61 -0
  49. package/src/isolated-private.d.ts.map +1 -0
  50. package/src/isolated-private.js +148 -0
  51. package/src/isolated-private.js.map +1 -0
  52. package/src/isolated-public.d.ts +117 -0
  53. package/src/isolated-public.d.ts.map +1 -0
  54. package/src/isolated-public.js +334 -0
  55. package/src/isolated-public.js.map +1 -0
  56. package/src/services/index.d.ts +1 -1
  57. package/src/services/index.d.ts.map +1 -1
  58. package/src/services/index.js +1 -11
  59. package/src/services/index.js.map +1 -1
  60. package/src/services/voting.service.d.ts +32 -2
  61. package/src/services/voting.service.d.ts.map +1 -1
  62. package/src/services/voting.service.js +230 -27
  63. package/src/services/voting.service.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolated-public.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/isolated-public.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ export * from './password-login';
7
7
  export * from './pbkdf2';
8
8
  export * from './progress-tracker';
9
9
  export * from './resumable-encryption';
10
- export { VotingService, hkdf, millerRabinTest, modPow, modInverse, gcd, lcm, SecureDeterministicDRBG, generateDeterministicPrime, generateDeterministicKeyPair, deriveVotingKeysFromECDH, type DeriveVotingKeysOptions, } from './voting.service';
10
+ export { VotingService } from './voting.service';
11
11
  export * from './xor';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,aAAa,EACb,IAAI,EACJ,eAAe,EACf,MAAM,EACN,UAAU,EACV,GAAG,EACH,GAAG,EACH,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,OAAO,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deriveVotingKeysFromECDH = exports.generateDeterministicKeyPair = exports.generateDeterministicPrime = exports.SecureDeterministicDRBG = exports.lcm = exports.gcd = exports.modInverse = exports.modPow = exports.millerRabinTest = exports.hkdf = exports.VotingService = void 0;
3
+ exports.VotingService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./aes-gcm"), exports);
6
6
  tslib_1.__exportStar(require("./chunk-processor"), exports);
@@ -13,15 +13,5 @@ tslib_1.__exportStar(require("./progress-tracker"), exports);
13
13
  tslib_1.__exportStar(require("./resumable-encryption"), exports);
14
14
  var voting_service_1 = require("./voting.service");
15
15
  Object.defineProperty(exports, "VotingService", { enumerable: true, get: function () { return voting_service_1.VotingService; } });
16
- Object.defineProperty(exports, "hkdf", { enumerable: true, get: function () { return voting_service_1.hkdf; } });
17
- Object.defineProperty(exports, "millerRabinTest", { enumerable: true, get: function () { return voting_service_1.millerRabinTest; } });
18
- Object.defineProperty(exports, "modPow", { enumerable: true, get: function () { return voting_service_1.modPow; } });
19
- Object.defineProperty(exports, "modInverse", { enumerable: true, get: function () { return voting_service_1.modInverse; } });
20
- Object.defineProperty(exports, "gcd", { enumerable: true, get: function () { return voting_service_1.gcd; } });
21
- Object.defineProperty(exports, "lcm", { enumerable: true, get: function () { return voting_service_1.lcm; } });
22
- Object.defineProperty(exports, "SecureDeterministicDRBG", { enumerable: true, get: function () { return voting_service_1.SecureDeterministicDRBG; } });
23
- Object.defineProperty(exports, "generateDeterministicPrime", { enumerable: true, get: function () { return voting_service_1.generateDeterministicPrime; } });
24
- Object.defineProperty(exports, "generateDeterministicKeyPair", { enumerable: true, get: function () { return voting_service_1.generateDeterministicKeyPair; } });
25
- Object.defineProperty(exports, "deriveVotingKeysFromECDH", { enumerable: true, get: function () { return voting_service_1.deriveVotingKeysFromECDH; } });
26
16
  tslib_1.__exportStar(require("./xor"), exports);
27
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,4DAAkC;AAClC,kDAAwB;AACxB,8DAAoC;AACpC,sEAA4C;AAC5C,2DAAiC;AACjC,mDAAyB;AACzB,6DAAmC;AACnC,iEAAuC;AACvC,mDAa0B;AAZxB,+GAAA,aAAa,OAAA;AACb,sGAAA,IAAI,OAAA;AACJ,iHAAA,eAAe,OAAA;AACf,wGAAA,MAAM,OAAA;AACN,4GAAA,UAAU,OAAA;AACV,qGAAA,GAAG,OAAA;AACH,qGAAA,GAAG,OAAA;AACH,yHAAA,uBAAuB,OAAA;AACvB,4HAAA,0BAA0B,OAAA;AAC1B,8HAAA,4BAA4B,OAAA;AAC5B,0HAAA,wBAAwB,OAAA;AAG1B,gDAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,4DAAkC;AAClC,kDAAwB;AACxB,8DAAoC;AACpC,sEAA4C;AAC5C,2DAAiC;AACjC,mDAAyB;AACzB,6DAAmC;AACnC,iEAAuC;AACvC,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,gDAAsB"}
@@ -4,6 +4,9 @@
4
4
  * Uses @noble/secp256k1 for ECDH (matching Node.js implementation).
5
5
  */
6
6
  import type { KeyPair, PrivateKey, PublicKey } from 'paillier-bigint';
7
+ import type { IVotingService } from '../interfaces/voting-service';
8
+ import { IsolatedPrivateKey } from '../isolated-private';
9
+ import { IsolatedPublicKey } from '../isolated-public';
7
10
  /**
8
11
  * Configuration options for deriving Paillier voting keys from ECDH keys.
9
12
  */
@@ -162,7 +165,7 @@ export declare function deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPu
162
165
  * For detailed security analysis, see:
163
166
  * docs/SECURITY_ANALYSIS_ECIES_PAILLIER_BRIDGE.md
164
167
  */
165
- export declare class VotingService {
168
+ export declare class VotingService implements IVotingService {
166
169
  private static instance?;
167
170
  /**
168
171
  * Get singleton instance of VotingService
@@ -215,17 +218,20 @@ export declare class VotingService {
215
218
  createDRBG(seed: Uint8Array, hmacAlgorithm?: string): Promise<SecureDeterministicDRBG>;
216
219
  /**
217
220
  * Serialize a Paillier public key to Uint8Array
221
+ * Format: [magic:4][version:1][keyId:32][n_length:4][n:variable]
218
222
  *
219
223
  * SECURITY: Public keys are safe to share. This serialization
220
224
  * format is deterministic and preserves all key information.
221
225
  */
222
- votingPublicKeyToBuffer(publicKey: PublicKey): Uint8Array;
226
+ votingPublicKeyToBuffer(publicKey: PublicKey): Promise<Uint8Array>;
223
227
  /**
224
228
  * Deserialize a Paillier public key from Uint8Array
229
+ * Format: [magic:4][version:1][keyId:32][n_length:4][n:variable]
225
230
  */
226
231
  bufferToVotingPublicKey(buffer: Uint8Array): Promise<PublicKey>;
227
232
  /**
228
233
  * Serialize a Paillier private key to Uint8Array
234
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
229
235
  *
230
236
  * SECURITY WARNING: Private keys must be kept secret!
231
237
  * - Only serialize for secure storage or transmission
@@ -236,8 +242,32 @@ export declare class VotingService {
236
242
  votingPrivateKeyToBuffer(privateKey: PrivateKey): Uint8Array;
237
243
  /**
238
244
  * Deserialize a Paillier private key from Uint8Array
245
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
239
246
  */
240
247
  bufferToVotingPrivateKey(buffer: Uint8Array, publicKey: PublicKey): Promise<PrivateKey>;
248
+ /**
249
+ * Serialize an IsolatedPublicKey to Uint8Array
250
+ * Format: [magic:4][version:1][keyId:32][instanceId:32][n_length:4][n:variable]
251
+ */
252
+ isolatedPublicKeyToBuffer(publicKey: IsolatedPublicKey): Uint8Array;
253
+ /**
254
+ * Deserialize an IsolatedPublicKey from Uint8Array
255
+ * Format: [magic:4][version:1][keyId:32][instanceId:32][n_length:4][n:variable]
256
+ */
257
+ bufferToIsolatedPublicKey(buffer: Uint8Array): Promise<IsolatedPublicKey>;
258
+ /**
259
+ * Serialize an IsolatedPrivateKey to Uint8Array
260
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
261
+ */
262
+ isolatedPrivateKeyToBuffer(privateKey: IsolatedPrivateKey): Uint8Array;
263
+ /**
264
+ * Deserialize an IsolatedPrivateKey from Uint8Array
265
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
266
+ */
267
+ bufferToIsolatedPrivateKey(buffer: Uint8Array, publicKey: IsolatedPublicKey): Promise<IsolatedPrivateKey>;
268
+ private hexToUint8Array;
269
+ private sha256;
270
+ private uint8ArrayEquals;
241
271
  serializePublicKey(publicKey: PublicKey): Promise<Uint8Array>;
242
272
  deserializePublicKey(buffer: Uint8Array): Promise<PublicKey>;
243
273
  serializePrivateKey(privateKey: PrivateKey): Promise<Uint8Array>;
@@ -1 +1 @@
1
- {"version":3,"file":"voting.service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voting.service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ exports.generateDeterministicPrime = generateDeterministicPrime;
16
16
  exports.generateDeterministicKeyPair = generateDeterministicKeyPair;
17
17
  exports.deriveVotingKeysFromECDH = deriveVotingKeysFromECDH;
18
18
  const secp256k1_js_1 = require("@noble/curves/secp256k1.js");
19
+ const constants_1 = require("../constants");
20
+ const voting_error_type_1 = require("../enumerations/voting-error-type");
21
+ const voting_1 = require("../errors/voting");
22
+ const isolated_private_1 = require("../isolated-private");
23
+ const isolated_public_1 = require("../isolated-public");
19
24
  /**
20
25
  * Miller-Rabin primality test with deterministic witnesses
21
26
  *
@@ -555,40 +560,77 @@ class VotingService {
555
560
  }
556
561
  /**
557
562
  * Serialize a Paillier public key to Uint8Array
563
+ * Format: [magic:4][version:1][keyId:32][n_length:4][n:variable]
558
564
  *
559
565
  * SECURITY: Public keys are safe to share. This serialization
560
566
  * format is deterministic and preserves all key information.
561
567
  */
562
- votingPublicKeyToBuffer(publicKey) {
563
- // Serialize n value as hex string
564
- const nHex = publicKey.n.toString(16);
565
- // Store length prefix (4 bytes) + hex string as UTF-8
568
+ async votingPublicKeyToBuffer(publicKey) {
569
+ // Generate keyId from n
570
+ const nHex = publicKey.n
571
+ .toString(constants_1.VOTING.KEY_RADIX)
572
+ .padStart(constants_1.VOTING.PUB_KEY_OFFSET, '0');
573
+ const nBytes = this.hexToUint8Array(nHex);
574
+ const keyId = await this.sha256(nBytes);
575
+ // Prepare n buffer
566
576
  const encoder = new TextEncoder();
567
- const hexBytes = encoder.encode(nHex);
568
- const result = new Uint8Array(4 + hexBytes.length);
577
+ const nHexBytes = encoder.encode(nHex);
578
+ // Create buffer: magic(4) + version(1) + keyId(32) + n_length(4) + n
579
+ const result = new Uint8Array(4 + 1 + 32 + 4 + nHexBytes.length);
569
580
  const view = new DataView(result.buffer);
570
- view.setUint32(0, hexBytes.length);
571
- result.set(hexBytes, 4);
581
+ // Write magic
582
+ const magicBytes = encoder.encode(constants_1.VOTING.KEY_MAGIC);
583
+ result.set(magicBytes, 0);
584
+ // Write version
585
+ result[4] = constants_1.VOTING.KEY_VERSION;
586
+ // Write keyId
587
+ result.set(keyId, 5);
588
+ // Write n_length and n
589
+ view.setUint32(37, nHexBytes.length);
590
+ result.set(nHexBytes, 41);
572
591
  return result;
573
592
  }
574
593
  /**
575
594
  * Deserialize a Paillier public key from Uint8Array
595
+ * Format: [magic:4][version:1][keyId:32][n_length:4][n:variable]
576
596
  */
577
597
  async bufferToVotingPublicKey(buffer) {
578
598
  // Load PublicKey class
579
599
  const { PublicKey } = await import('paillier-bigint');
580
- // Read length prefix
581
- const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
582
- const length = view.getUint32(0);
583
- // Read hex string
600
+ // Minimum buffer length check
601
+ if (buffer.length < 41) {
602
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPublicKeyBufferTooShort);
603
+ }
584
604
  const decoder = new TextDecoder();
585
- const nHex = decoder.decode(buffer.slice(4, 4 + length));
605
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
606
+ // Verify magic
607
+ const magic = decoder.decode(buffer.slice(0, 4));
608
+ if (magic !== constants_1.VOTING.KEY_MAGIC) {
609
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPublicKeyBufferWrongMagic);
610
+ }
611
+ // Read version
612
+ const version = buffer[4];
613
+ if (version !== constants_1.VOTING.KEY_VERSION) {
614
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.UnsupportedPublicKeyVersion);
615
+ }
616
+ // Read keyId
617
+ const keyId = buffer.slice(5, 37);
618
+ // Read n
619
+ const nLength = view.getUint32(37);
620
+ const nHex = decoder.decode(buffer.slice(41, 41 + nLength));
586
621
  const n = BigInt('0x' + nHex);
622
+ // Verify keyId
623
+ const nBytes = this.hexToUint8Array(nHex);
624
+ const computedKeyId = await this.sha256(nBytes);
625
+ if (!this.uint8ArrayEquals(keyId, computedKeyId)) {
626
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPublicKeyIdMismatch);
627
+ }
587
628
  // g = n + 1 for simplified Paillier
588
629
  return new PublicKey(n, n + 1n);
589
630
  }
590
631
  /**
591
632
  * Serialize a Paillier private key to Uint8Array
633
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
592
634
  *
593
635
  * SECURITY WARNING: Private keys must be kept secret!
594
636
  * - Only serialize for secure storage or transmission
@@ -597,41 +639,202 @@ class VotingService {
597
639
  * - Never log or expose private keys in client-side code
598
640
  */
599
641
  votingPrivateKeyToBuffer(privateKey) {
600
- // Serialize lambda and mu values
601
- const lambdaHex = privateKey.lambda.toString(16);
602
- const muHex = privateKey.mu.toString(16);
642
+ // Serialize lambda and mu values with padding
643
+ const lambdaHex = privateKey.lambda
644
+ .toString(constants_1.VOTING.KEY_RADIX)
645
+ .padStart(constants_1.VOTING.PUB_KEY_OFFSET, '0');
646
+ const muHex = privateKey.mu
647
+ .toString(constants_1.VOTING.KEY_RADIX)
648
+ .padStart(constants_1.VOTING.PUB_KEY_OFFSET, '0');
603
649
  const encoder = new TextEncoder();
650
+ const magicBytes = encoder.encode(constants_1.VOTING.KEY_MAGIC);
604
651
  const lambdaBytes = encoder.encode(lambdaHex);
605
652
  const muBytes = encoder.encode(muHex);
606
- const result = new Uint8Array(8 + lambdaBytes.length + muBytes.length);
653
+ // magic(4) + version(1) + lambda_length(4) + lambda + mu_length(4) + mu
654
+ const result = new Uint8Array(4 + 1 + 4 + lambdaBytes.length + 4 + muBytes.length);
607
655
  const view = new DataView(result.buffer);
608
- view.setUint32(0, lambdaBytes.length);
609
- result.set(lambdaBytes, 4);
610
- view.setUint32(4 + lambdaBytes.length, muBytes.length);
611
- result.set(muBytes, 8 + lambdaBytes.length);
656
+ // Write magic
657
+ result.set(magicBytes, 0);
658
+ // Write version
659
+ result[4] = constants_1.VOTING.KEY_VERSION;
660
+ // Write lambda_length and lambda
661
+ view.setUint32(5, lambdaBytes.length);
662
+ result.set(lambdaBytes, 9);
663
+ // Write mu_length and mu
664
+ view.setUint32(9 + lambdaBytes.length, muBytes.length);
665
+ result.set(muBytes, 13 + lambdaBytes.length);
612
666
  return result;
613
667
  }
614
668
  /**
615
669
  * Deserialize a Paillier private key from Uint8Array
670
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
616
671
  */
617
672
  async bufferToVotingPrivateKey(buffer, publicKey) {
618
673
  // Load PrivateKey class
619
674
  const { PrivateKey } = await import('paillier-bigint');
620
- const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
675
+ // Minimum buffer length check
676
+ if (buffer.length < 13) {
677
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPrivateKeyBufferTooShort);
678
+ }
621
679
  const decoder = new TextDecoder();
680
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
681
+ // Verify magic
682
+ const magic = decoder.decode(buffer.slice(0, 4));
683
+ if (magic !== constants_1.VOTING.KEY_MAGIC) {
684
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPrivateKeyBufferWrongMagic);
685
+ }
686
+ // Read version
687
+ const version = buffer[4];
688
+ if (version !== constants_1.VOTING.KEY_VERSION) {
689
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.UnsupportedPrivateKeyVersion);
690
+ }
622
691
  // Read lambda
623
- const lambdaLength = view.getUint32(0);
624
- const lambdaHex = decoder.decode(buffer.slice(4, 4 + lambdaLength));
692
+ const lambdaLength = view.getUint32(5);
693
+ const lambdaHex = decoder.decode(buffer.slice(9, 9 + lambdaLength));
625
694
  const lambda = BigInt('0x' + lambdaHex);
626
695
  // Read mu
627
- const muLength = view.getUint32(4 + lambdaLength);
628
- const muHex = decoder.decode(buffer.slice(8 + lambdaLength, 8 + lambdaLength + muLength));
696
+ const muLength = view.getUint32(9 + lambdaLength);
697
+ const muHex = decoder.decode(buffer.slice(13 + lambdaLength, 13 + lambdaLength + muLength));
629
698
  const mu = BigInt('0x' + muHex);
630
699
  return new PrivateKey(lambda, mu, publicKey);
631
700
  }
701
+ /**
702
+ * Serialize an IsolatedPublicKey to Uint8Array
703
+ * Format: [magic:4][version:1][keyId:32][instanceId:32][n_length:4][n:variable]
704
+ */
705
+ isolatedPublicKeyToBuffer(publicKey) {
706
+ if (!isolated_public_1.IsolatedPublicKey.isIsolatedPublicKey(publicKey)) {
707
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPublicKeyNotIsolated);
708
+ }
709
+ const nHex = publicKey.n
710
+ .toString(constants_1.VOTING.KEY_RADIX)
711
+ .padStart(constants_1.VOTING.PUB_KEY_OFFSET, '0');
712
+ const keyId = publicKey.getKeyId();
713
+ const instanceId = publicKey.getInstanceId();
714
+ const encoder = new TextEncoder();
715
+ const magicBytes = encoder.encode(constants_1.VOTING.KEY_MAGIC);
716
+ const nHexBytes = encoder.encode(nHex);
717
+ // magic(4) + version(1) + keyId(32) + instanceId(32) + n_length(4) + n
718
+ const result = new Uint8Array(4 + 1 + 32 + 32 + 4 + nHexBytes.length);
719
+ const view = new DataView(result.buffer);
720
+ // Write magic
721
+ result.set(magicBytes, 0);
722
+ // Write version
723
+ result[4] = constants_1.VOTING.KEY_VERSION;
724
+ // Write keyId
725
+ result.set(keyId, 5);
726
+ // Write instanceId
727
+ result.set(instanceId, 37);
728
+ // Write n_length and n
729
+ view.setUint32(69, nHexBytes.length);
730
+ result.set(nHexBytes, 73);
731
+ return result;
732
+ }
733
+ /**
734
+ * Deserialize an IsolatedPublicKey from Uint8Array
735
+ * Format: [magic:4][version:1][keyId:32][instanceId:32][n_length:4][n:variable]
736
+ */
737
+ async bufferToIsolatedPublicKey(buffer) {
738
+ // Minimum buffer length check
739
+ if (buffer.length < 73) {
740
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPublicKeyBufferTooShort);
741
+ }
742
+ const decoder = new TextDecoder();
743
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
744
+ // Verify magic
745
+ const magic = decoder.decode(buffer.slice(0, 4));
746
+ if (magic !== constants_1.VOTING.KEY_MAGIC) {
747
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPublicKeyBufferWrongMagic);
748
+ }
749
+ // Read version
750
+ const version = buffer[4];
751
+ if (version !== constants_1.VOTING.KEY_VERSION) {
752
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.UnsupportedPublicKeyVersion);
753
+ }
754
+ // Read keyId
755
+ const keyId = buffer.slice(5, 37);
756
+ // Read instanceId
757
+ const instanceId = buffer.slice(37, 69);
758
+ // Read n
759
+ const nLength = view.getUint32(69);
760
+ const nHex = decoder.decode(buffer.slice(73, 73 + nLength));
761
+ const n = BigInt('0x' + nHex);
762
+ // g = n + 1 for simplified Paillier
763
+ const g = n + 1n;
764
+ // Create IsolatedPublicKey using fromBuffer factory method
765
+ // The keyId and instanceId from the buffer are trusted
766
+ return isolated_public_1.IsolatedPublicKey.fromBuffer(n, g, keyId, instanceId);
767
+ }
768
+ /**
769
+ * Serialize an IsolatedPrivateKey to Uint8Array
770
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
771
+ */
772
+ isolatedPrivateKeyToBuffer(privateKey) {
773
+ // IsolatedPrivateKey uses same format as base PrivateKey
774
+ // Instance validation happens during decryption, not serialization
775
+ return this.votingPrivateKeyToBuffer(privateKey);
776
+ }
777
+ /**
778
+ * Deserialize an IsolatedPrivateKey from Uint8Array
779
+ * Format: [magic:4][version:1][lambda_length:4][lambda:variable][mu_length:4][mu:variable]
780
+ */
781
+ async bufferToIsolatedPrivateKey(buffer, publicKey) {
782
+ if (!isolated_public_1.IsolatedPublicKey.isIsolatedPublicKey(publicKey)) {
783
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPublicKeyNotIsolated);
784
+ }
785
+ // Minimum buffer length check
786
+ if (buffer.length < 13) {
787
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPrivateKeyBufferTooShort);
788
+ }
789
+ const decoder = new TextDecoder();
790
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
791
+ // Verify magic
792
+ const magic = decoder.decode(buffer.slice(0, 4));
793
+ if (magic !== constants_1.VOTING.KEY_MAGIC) {
794
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.InvalidPrivateKeyBufferWrongMagic);
795
+ }
796
+ // Read version
797
+ const version = buffer[4];
798
+ if (version !== constants_1.VOTING.KEY_VERSION) {
799
+ throw new voting_1.VotingError(voting_error_type_1.VotingErrorType.UnsupportedPrivateKeyVersion);
800
+ }
801
+ // Read lambda
802
+ const lambdaLength = view.getUint32(5);
803
+ const lambdaHex = decoder.decode(buffer.slice(9, 9 + lambdaLength));
804
+ const lambda = BigInt('0x' + lambdaHex);
805
+ // Read mu
806
+ const muLength = view.getUint32(9 + lambdaLength);
807
+ const muHex = decoder.decode(buffer.slice(13 + lambdaLength, 13 + lambdaLength + muLength));
808
+ const mu = BigInt('0x' + muHex);
809
+ return new isolated_private_1.IsolatedPrivateKey(lambda, mu, publicKey);
810
+ }
811
+ // Helper methods for serialization
812
+ hexToUint8Array(hex) {
813
+ if (hex.length % 2 !== 0) {
814
+ hex = '0' + hex;
815
+ }
816
+ const bytes = new Uint8Array(hex.length / 2);
817
+ for (let i = 0; i < hex.length; i += 2) {
818
+ bytes[i / 2] = parseInt(hex.substr(i, 2), 16);
819
+ }
820
+ return bytes;
821
+ }
822
+ async sha256(data) {
823
+ const hashBuffer = await crypto.subtle.digest('SHA-256', data);
824
+ return new Uint8Array(hashBuffer);
825
+ }
826
+ uint8ArrayEquals(a, b) {
827
+ if (a.length !== b.length)
828
+ return false;
829
+ for (let i = 0; i < a.length; i++) {
830
+ if (a[i] !== b[i])
831
+ return false;
832
+ }
833
+ return true;
834
+ }
632
835
  // Aliases for cross-platform compatibility tests
633
836
  async serializePublicKey(publicKey) {
634
- return this.votingPublicKeyToBuffer(publicKey);
837
+ return await this.votingPublicKeyToBuffer(publicKey);
635
838
  }
636
839
  async deserializePublicKey(buffer) {
637
840
  return this.bufferToVotingPublicKey(buffer);
@@ -1 +1 @@
1
- {"version":3,"file":"voting.service.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAyCH,0CAoCC;AAKD,wBAYC;AAKD,gCAoBC;AAKD,kBAUC;AAKD,kBAEC;AA6ED,oBA6BC;AA8GD,gEA6DC;AAKD,oEAkFC;AAqBD,4DAkFC;AA9lBD,6DAAuD;AA6BvD;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAEzB,uBAAuB;IACvB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QACrB,CAAC,IAAI,EAAE,CAAC;QACR,CAAC,EAAE,CAAC;IACN,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3E,eAAe;IACf,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE;QACzC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBAAE,OAAO,IAAI,CAAC;QAChC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,oCAAoC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;IAC3D,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IAClB,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;YACpB,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QACjC,CAAC;QACD,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;QAChB,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,CAAS,EAAE,CAAS;IAC7C,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,EAAE,GAAG,CAAC,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACX,EAAE,GAAG,CAAC,CAAC;QACP,CAAC,GAAG,EAAE,CAAC;QACP,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAED,IAAI,EAAE,GAAG,EAAE;QAAE,EAAE,IAAI,EAAE,CAAC;IACtB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,CAAC,GAAG,CAAC,CAAC;IACR,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,6BAA6B,CAAC,aAAyB;IAC9D,IAAI,aAAa,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,yDAAyD,aAAa,CAAC,MAAM,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,+DAA+D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,GAAG,mEAAmE,CAAC;IAC9E,MAAM,CAAC,GAAG,EAAE,CAAC;IAEb,uBAAuB;IACvB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,gCAAgC;IAChC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAE5C,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7C,kDAAkD;IAClD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IAChC,MAAM,mBAAmB,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3D,2CAA2C;IAC3C,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACxC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAEvB,qBAAqB;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,qBAAqB;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,IAAI,CACxB,MAAkB,EAClB,IAAuB,EACvB,IAAY,EACZ,MAAc,EACd,gBAAwB,SAAS;IAEjC,sBAAsB;IACtB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/C,KAAK,EACL,MAAM,EACN,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,KAAK,EACL,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,yBAAyB;IACzB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAC5C;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KACrC,EACD,WAAW,EACX,MAAM,GAAG,CAAC,CACX,CAAC;IAEF,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAa,uBAAuB;IAC1B,CAAC,CAAa;IACd,CAAC,CAAa;IACL,aAAa,CAAS;IACtB,UAAU,CAAS;IAEpC,YAAoB,IAAgB,EAAE,gBAAwB,SAAS;QACrE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExD,qBAAqB;QACrB,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,IAAgB,EAChB,gBAAwB,SAAS;QAEjC,MAAM,IAAI,GAAG,IAAI,uBAAuB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,GAAe,EACf,IAAgB;QAEhB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC7C,KAAK,EACL,GAAG,EACH,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,EAC1C,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,YAAyB;QAC5C,0CAA0C;QAC1C,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE5C,iBAAiB;QACjB,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE9C,IAAI,YAAY,EAAE,CAAC;YACjB,0CAA0C;YAC1C,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE5C,iBAAiB;YACjB,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACpC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,MAAM,GAAG,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM,IAAI,UAAU,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAnFD,0DAmFC;AAED;;GAEG;AACH,MAAM,YAAY,GAAG;IACnB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1E,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACzE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACzE,GAAG,EAAE,GAAG,EAAE,GAAG;CACd,CAAC;AAEF;;GAEG;AACI,KAAK,UAAU,0BAA0B,CAC9C,IAA6B,EAC7B,OAAe,EACf,sBAA8B,GAAG,EACjC,cAAsB,KAAK;IAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5C,6EAA6E;IAC7E,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,yEAAyE;QACzE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,0DAA0D;YAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5C,yCAAyC;QACzC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;QAEvB,sCAAsC;QACtC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,MAAM,CACtB,IAAI;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;iBACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBAC3C,IAAI,CAAC,EAAE,CAAC,CACd,CAAC;QAEF,mCAAmC;QACnC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,IACE,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE;gBACrC,SAAS,KAAK,MAAM,CAAC,UAAU,CAAC,EAChC,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,WAAW;YAAE,SAAS;QAE1B,8BAA8B;QAC9B,IAAI,eAAe,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACpD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,4BAA4B,CAChD,IAAgB,EAChB,OAAe,IAAI,EACnB,sBAA8B,GAAG;IAEjC,kBAAkB;IAClB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,mBAAmB,GAAG,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,yDAAyD,mBAAmB,EAAE,CAC/E,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,IAAI,SAAqD,CAAC;IAC1D,IAAI,UAAuD,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjD,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC/B,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACnC,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,2CAA2C;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,MAAM,0BAA0B,CACxC,IAAI,EACJ,SAAS,EACT,mBAAmB,CACpB,CAAC;IACF,MAAM,CAAC,GAAG,MAAM,0BAA0B,CACxC,IAAI,EACJ,SAAS,EACT,mBAAmB,CACpB,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhB,mCAAmC;IACnC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAEnC,0CAA0C;IAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAEjB,gDAAgD;IAChD,uBAAuB;IACvB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,kBAAkB;IAClB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAEzD,2CAA2C;IAC3C,MAAM,aAAa,GAAG,GAAG,CAAC;IAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,wBAAwB,CAC5C,WAAuB,EACvB,UAAsB,EACtB,UAAmC,EAAE;IAErC,MAAM,EACJ,SAAS,EAAE,UAAU,GAAG,WAAW,EAAE,gDAAgD;IACrF,cAAc,GAAG,IAAI,EACrB,kBAAkB,GAAG,EAAE,EACvB,eAAe,GAAG,EAAE,EACpB,aAAa,GAAG,SAAS,EACzB,QAAQ,GAAG,kBAAkB,EAC7B,UAAU,GAAG,EAAE,EACf,gBAAgB,GAAG,IAAI,EACvB,mBAAmB,GAAG,GAAG,GAC1B,GAAG,OAAO,CAAC;IAEZ,4CAA4C;IAC5C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,uDAAuD;IACvD,IAAI,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,2DAA2D,WAAW,CAAC,MAAM,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,gBAA4B,CAAC;IAEjC,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,0DAA0D;QAC1D,gBAAgB,GAAG,UAAU,CAAC;IAChC,CAAC;SAAM,IACL,UAAU,CAAC,MAAM,KAAK,eAAe;QACrC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,EAChC,CAAC;QACD,wEAAwE;QACxE,gBAAgB,GAAG,UAAU,CAAC;IAChC,CAAC;SAAM,IAAI,UAAU,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;QACpD,uCAAuC;QACvC,gBAAgB,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;QACnD,gBAAgB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;QACrC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,2HAA2H,UAAU,CAAC,MAAM,EAAE,CAC/I,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,MAAM,YAAY,GAAG,wBAAS,CAAC,eAAe,CAC5C,WAAW,EACX,gBAAgB,EAChB,KAAK,CACN,CAAC;IAEF,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjD,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,aAAa,CACd,CAAC;IAEF,kCAAkC;IAClC,OAAO,MAAM,4BAA4B,CACvC,IAAI,EACJ,gBAAgB,EAChB,mBAAmB,CACpB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAa,aAAa;IAChB,MAAM,CAAC,QAAQ,CAAiB;IAExC;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,wBAAwB,CACnC,WAAuB,EACvB,UAAsB,EACtB,OAAiC;QAEjC,OAAO,MAAM,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CACf,MAAkB,EAClB,IAAuB,EACvB,IAAY,EACZ,MAAc,EACd,aAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,CAAS,EAAE,CAAS;QACzC,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;QAClD,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,CAAS,EAAE,CAAS;QACpC,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,0BAA0B,CACrC,IAA6B,EAC7B,OAAe,EACf,mBAA4B,EAC5B,WAAoB;QAEpB,OAAO,MAAM,0BAA0B,CACrC,IAAI,EACJ,OAAO,EACP,mBAAmB,EACnB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,4BAA4B,CACvC,IAAgB,EAChB,IAAa,EACb,mBAA4B;QAE5B,OAAO,MAAM,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CACrB,IAAgB,EAChB,aAAsB;QAEtB,OAAO,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACI,uBAAuB,CAAC,SAAoB;QACjD,kCAAkC;QAClC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,uBAAuB,CAAC,MAAkB;QACrD,uBAAuB;QACvB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEtD,qBAAqB;QACrB,MAAM,IAAI,GAAG,IAAI,QAAQ,CACvB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjC,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAE9B,oCAAoC;QACpC,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACI,wBAAwB,CAAC,UAAsB;QACpD,iCAAiC;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,wBAAwB,CACnC,MAAkB,EAClB,SAAoB;QAEpB,wBAAwB;QACxB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAG,IAAI,QAAQ,CACvB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAElC,cAAc;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAExC,UAAU;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC,CAC5D,CAAC;QACF,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAEhC,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,iDAAiD;IAC1C,KAAK,CAAC,kBAAkB,CAAC,SAAoB;QAClD,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,MAAkB;QAClD,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,UAAsB;QAEtB,OAAO,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,MAAkB,EAClB,SAAoB;QAEpB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF;AA/OD,sCA+OC"}
1
+ {"version":3,"file":"voting.service.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":"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"}