@sidhujag/sysweb3-keyring 2.1.11 → 2.1.13

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 (44) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/cjs/host-keyring.js +3 -1
  3. package/cjs/host-keyring.js.map +1 -1
  4. package/cjs/index.js +3 -1
  5. package/cjs/index.js.map +1 -1
  6. package/cjs/keyring-core.js +609 -36
  7. package/cjs/keyring-core.js.map +1 -1
  8. package/cjs/keyring-host.js +9 -2
  9. package/cjs/keyring-host.js.map +1 -1
  10. package/cjs/private-records.js +291 -9
  11. package/cjs/private-records.js.map +1 -1
  12. package/cjs/public-session.js +72 -0
  13. package/cjs/public-session.js.map +1 -0
  14. package/cjs/software.js +3 -1
  15. package/cjs/software.js.map +1 -1
  16. package/cjs/transactions/syscoin-core.js +161 -97
  17. package/cjs/transactions/syscoin-core.js.map +1 -1
  18. package/cjs/types.js.map +1 -1
  19. package/cjs/utils/utxo-fee-rate.js +26 -0
  20. package/cjs/utils/utxo-fee-rate.js.map +1 -0
  21. package/esm/keyring-core.js +611 -38
  22. package/esm/keyring-core.js.map +1 -1
  23. package/esm/keyring-host.js +9 -2
  24. package/esm/keyring-host.js.map +1 -1
  25. package/esm/private-records.js +284 -9
  26. package/esm/private-records.js.map +1 -1
  27. package/esm/public-session.js +65 -0
  28. package/esm/public-session.js.map +1 -0
  29. package/esm/transactions/syscoin-core.js +161 -97
  30. package/esm/transactions/syscoin-core.js.map +1 -1
  31. package/esm/types.js.map +1 -1
  32. package/esm/utils/utxo-fee-rate.js +23 -0
  33. package/esm/utils/utxo-fee-rate.js.map +1 -0
  34. package/package.json +7 -1
  35. package/types/host-keyring.d.ts +4 -0
  36. package/types/index.d.ts +3 -1
  37. package/types/keyring-core.d.ts +37 -5
  38. package/types/keyring-host.d.ts +4 -0
  39. package/types/private-records.d.ts +30 -0
  40. package/types/public-session.d.ts +19 -0
  41. package/types/software.d.ts +5 -0
  42. package/types/transactions/syscoin-core.d.ts +13 -1
  43. package/types/types.d.ts +9 -1
  44. package/types/utils/utxo-fee-rate.d.ts +5 -0
@@ -46,6 +46,7 @@ const excluded_utxos_1 = require("../utils/excluded-utxos");
46
46
  const owned_blockbook_account_1 = require("../utils/owned-blockbook-account");
47
47
  const psbt_1 = require("../utils/psbt");
48
48
  const psbt_account_scope_1 = require("../utils/psbt-account-scope");
49
+ const utxo_fee_rate_1 = require("../utils/utxo-fee-rate");
49
50
  const createHardwareSignerUnavailableError = (hardware) => Object.assign(new Error(`${hardware} signer is unavailable in this host`), {
50
51
  code: 'HARDWARE_SIGNER_UNAVAILABLE',
51
52
  });
@@ -185,7 +186,7 @@ function captureOwnedSyscoinRead(options, getState, captureSigningContext) {
185
186
  };
186
187
  }
187
188
  class SyscoinTransactionsCore {
188
- constructor(getSyscoinSigner, getReadOnlySigner, getState, hardwareSigners, captureSigningContext) {
189
+ constructor(getSyscoinSigner, getReadOnlySigner, getState, hardwareSigners, captureSigningContext, secretLifetime, assertPublicPreparation) {
189
190
  this.getTransactionPSBT = async ({ txOptions, outputs, changeAddress, feeRateBN, xpub, fundingUtxos, }, main) => {
190
191
  try {
191
192
  // Use syscoinjs-lib directly for transaction creation
@@ -429,6 +430,109 @@ class SyscoinTransactionsCore {
429
430
  };
430
431
  }
431
432
  };
433
+ /** Resolve public signing hints without loading a software signer. */
434
+ this.prepareSoftwareSigningPaths = async (psbt, ownedRead) => {
435
+ const { assertCurrent, network: activeNetwork, transport } = ownedRead;
436
+ assertCurrent();
437
+ // HD signing (seed-based HDAccount or imported BIP84 zprv/vprv account).
438
+ // Some Blockbook deployments return UTXOs without per-input derivation `path`,
439
+ // which causes bitcoinjs-lib to throw "Need derivation path to sign with HD".
440
+ //
441
+ // We can recover by enriching PSBT inputs with a proprietary `path` field using
442
+ // Blockbook's xpub token list (address -> path mapping), which reliably includes paths.
443
+ const { activeAccountId, activeAccountType, accounts } = this.getState();
444
+ const account = accounts[activeAccountType]?.[activeAccountId];
445
+ const accountXpub = account?.xpub;
446
+ const accountAddress = account?.address;
447
+ const isSingleAddressImported = activeAccountType === types_1.KeyringAccountType.Imported &&
448
+ Boolean(accountXpub) &&
449
+ Boolean(accountAddress) &&
450
+ accountXpub === accountAddress;
451
+ const isImportedExtended = activeAccountType === types_1.KeyringAccountType.Imported &&
452
+ Boolean(accountXpub) &&
453
+ !isSingleAddressImported;
454
+ // For an account-level imported BIP84 key, derive change/index relative
455
+ // to that node; the z/v prefix alone does not identify its depth. The
456
+ // existing account-scope check validates the derivation before signing.
457
+ if (isImportedExtended) {
458
+ const inputs = psbt?.data?.inputs || [];
459
+ for (const input of inputs) {
460
+ const unknowns = input?.unknownKeyVals || [];
461
+ const pathKv = unknowns.find((kv) => kv?.key?.toString?.() === 'path');
462
+ if (!pathKv?.value)
463
+ continue;
464
+ const fullPath = String(Buffer.from(pathKv.value).toString());
465
+ const parts = fullPath.split('/').filter(Boolean);
466
+ // Expected: m/84'/slip44'/account'/change/index
467
+ if (parts.length >= 2) {
468
+ const change = parts[parts.length - 2];
469
+ const index = parts[parts.length - 1];
470
+ const rel = `${change}/${index}`;
471
+ pathKv.value = Buffer.from(rel);
472
+ }
473
+ }
474
+ }
475
+ const needsAnyPath = psbt?.data?.inputs?.some((input) => {
476
+ if (input.finalScriptSig || input.finalScriptWitness)
477
+ return false;
478
+ const unknowns = input?.unknownKeyVals || [];
479
+ return (!input.bip32Derivation?.length &&
480
+ !input.tapBip32Derivation?.length &&
481
+ !unknowns.some((kv) => kv?.key?.toString?.() === 'path'));
482
+ });
483
+ if (needsAnyPath &&
484
+ accountXpub &&
485
+ !isSingleAddressImported &&
486
+ typeof psbt.addUnknownKeyValToInput === 'function') {
487
+ // Fetch address->path mapping from Blockbook xpub endpoint
488
+ const blockbookUrl = activeNetwork.url;
489
+ const res = await (0, owned_blockbook_account_1.fetchOwnedBlockbookAccount)(blockbookUrl, accountXpub, transport);
490
+ assertCurrent();
491
+ const tokens = Array.isArray(res?.tokens) ? res.tokens : [];
492
+ const addrToPath = new Map();
493
+ for (const t of tokens) {
494
+ if (t?.name && t?.path) {
495
+ addrToPath.set(String(t.name), String(t.path));
496
+ }
497
+ }
498
+ const inputs = psbt?.data?.inputs || [];
499
+ for (let i = 0; i < inputs.length; i++) {
500
+ const input = inputs[i];
501
+ const unknowns = input?.unknownKeyVals || [];
502
+ const hasPath = unknowns.some((kv) => kv?.key?.toString?.() === 'path');
503
+ if (hasPath)
504
+ continue;
505
+ const addrKv = unknowns.find((kv) => kv?.key?.toString?.() === 'address');
506
+ const addr = addrKv?.value
507
+ ? String(Buffer.from(addrKv.value).toString())
508
+ : null;
509
+ if (!addr)
510
+ continue;
511
+ const fullPath = addrToPath.get(addr);
512
+ if (!fullPath)
513
+ continue;
514
+ // Imported extended keys are account-level (BIP84 account node), so we must provide a
515
+ // path relative to that node (change/index), not the full m/84'/... path.
516
+ const pathForSigner = isImportedExtended
517
+ ? (() => {
518
+ const parts = String(fullPath).split('/').filter(Boolean);
519
+ // Expected: m/84'/slip44'/account'/change/index
520
+ if (parts.length >= 2) {
521
+ const change = parts[parts.length - 2];
522
+ const index = parts[parts.length - 1];
523
+ return `${change}/${index}`;
524
+ }
525
+ return fullPath;
526
+ })()
527
+ : fullPath;
528
+ psbt.addUnknownKeyValToInput(i, {
529
+ key: Buffer.from('path'),
530
+ value: Buffer.from(pathForSigner),
531
+ });
532
+ }
533
+ }
534
+ assertCurrent();
535
+ };
432
536
  // Sign PSBT with appropriate method - separated for better error handling
433
537
  this.signPSBTWithMethod = async (psbt, ownedRead) => {
434
538
  const { assertCurrent, network: activeNetwork, transport } = ownedRead;
@@ -484,101 +588,11 @@ class SyscoinTransactionsCore {
484
588
  return signed;
485
589
  }
486
590
  else {
487
- // HD signing (seed-based HDAccount or imported BIP84 zprv/vprv account).
488
- // Some Blockbook deployments return UTXOs without per-input derivation `path`,
489
- // which causes bitcoinjs-lib to throw "Need derivation path to sign with HD".
490
- //
491
- // We can recover by enriching PSBT inputs with a proprietary `path` field using
492
- // Blockbook's xpub token list (address -> path mapping), which reliably includes paths.
493
- const account = accounts[activeAccountType]?.[activeAccountId];
494
- const accountXpub = account?.xpub;
495
- const accountAddress = account?.address;
496
- const isSingleAddressImported = activeAccountType === types_1.KeyringAccountType.Imported &&
497
- Boolean(accountXpub) &&
498
- Boolean(accountAddress) &&
499
- accountXpub === accountAddress;
500
- const isImportedExtended = activeAccountType === types_1.KeyringAccountType.Imported &&
501
- Boolean(accountXpub) &&
502
- !isSingleAddressImported;
503
- // IMPORTANT: Imported extended keys (zprv/vprv) are typically *account-level* keys.
504
- // syscoinjs-lib signs using the imported key as the BIP32 root, so PSBT `path` must be
505
- // relative (change/index), not the full `m/84'/.../change/index`. If we keep full paths,
506
- // bip32.derivePath can throw, leaving no derivations and causing "Need derivation path".
507
- if (isImportedExtended) {
508
- const inputs = psbt?.data?.inputs || [];
509
- for (const input of inputs) {
510
- const unknowns = input?.unknownKeyVals || [];
511
- const pathKv = unknowns.find((kv) => kv?.key?.toString?.() === 'path');
512
- if (!pathKv?.value)
513
- continue;
514
- const fullPath = String(Buffer.from(pathKv.value).toString());
515
- const parts = fullPath.split('/').filter(Boolean);
516
- // Expected: m/84'/slip44'/account'/change/index
517
- if (parts.length >= 2) {
518
- const change = parts[parts.length - 2];
519
- const index = parts[parts.length - 1];
520
- const rel = `${change}/${index}`;
521
- pathKv.value = Buffer.from(rel);
522
- }
523
- }
524
- }
525
- const needsAnyPath = psbt?.data?.inputs?.some((input) => {
526
- const unknowns = input?.unknownKeyVals || [];
527
- return (!input.bip32Derivation?.length &&
528
- !input.tapBip32Derivation?.length &&
529
- !unknowns.some((kv) => kv?.key?.toString?.() === 'path'));
530
- });
531
- if (needsAnyPath &&
532
- accountXpub &&
533
- !isSingleAddressImported &&
534
- typeof psbt.addUnknownKeyValToInput === 'function') {
535
- // Fetch address->path mapping from Blockbook xpub endpoint
536
- const blockbookUrl = activeNetwork.url;
537
- const res = await (0, owned_blockbook_account_1.fetchOwnedBlockbookAccount)(blockbookUrl, accountXpub, transport);
538
- assertCurrent();
539
- const tokens = Array.isArray(res?.tokens) ? res.tokens : [];
540
- const addrToPath = new Map();
541
- for (const t of tokens) {
542
- if (t?.name && t?.path) {
543
- addrToPath.set(String(t.name), String(t.path));
544
- }
545
- }
546
- const inputs = psbt?.data?.inputs || [];
547
- for (let i = 0; i < inputs.length; i++) {
548
- const input = inputs[i];
549
- const unknowns = input?.unknownKeyVals || [];
550
- const hasPath = unknowns.some((kv) => kv?.key?.toString?.() === 'path');
551
- if (hasPath)
552
- continue;
553
- const addrKv = unknowns.find((kv) => kv?.key?.toString?.() === 'address');
554
- const addr = addrKv?.value
555
- ? String(Buffer.from(addrKv.value).toString())
556
- : null;
557
- if (!addr)
558
- continue;
559
- const fullPath = addrToPath.get(addr);
560
- if (!fullPath)
561
- continue;
562
- // Imported extended keys are account-level (BIP84 account node), so we must provide a
563
- // path relative to that node (change/index), not the full m/84'/... path.
564
- const pathForSigner = isImportedExtended
565
- ? (() => {
566
- const parts = String(fullPath).split('/').filter(Boolean);
567
- // Expected: m/84'/slip44'/account'/change/index
568
- if (parts.length >= 2) {
569
- const change = parts[parts.length - 2];
570
- const index = parts[parts.length - 1];
571
- return `${change}/${index}`;
572
- }
573
- return fullPath;
574
- })()
575
- : fullPath;
576
- psbt.addUnknownKeyValToInput(i, {
577
- key: Buffer.from('path'),
578
- value: Buffer.from(pathForSigner),
579
- });
580
- }
581
- }
591
+ // Operation-scoped signing never enriches or fetches. The existing
592
+ // scope validator keeps only authenticated owned inputs; a joint PSBT
593
+ // may legitimately leave a foreign input without signing hints.
594
+ if (this.secretLifetime === 'session')
595
+ await this.prepareSoftwareSigningPaths(psbt, ownedRead);
582
596
  assertCurrent();
583
597
  (0, psbt_account_scope_1.assertPsbtAccountScope)(psbt, scope);
584
598
  const { hd } = this.getSigner();
@@ -628,7 +642,7 @@ class SyscoinTransactionsCore {
628
642
  // Blockbook returns coins per kB; after division by 1024, some testnets
629
643
  // can yield < 1 sat/vB (e.g., 0.9765625). Round up and clamp to 1 to
630
644
  // avoid zero-fee transactions due to truncation when converting to BN.
631
- const satPerByte = Math.max(1, Math.ceil(actualFeeRate * 1e8));
645
+ const satPerByte = (0, utxo_fee_rate_1.utxoFeeRateUnits)(actualFeeRate);
632
646
  const feeRateBN = new syscoinjs.utils.BN(satPerByte);
633
647
  // Step 2: Create unsigned PSBT
634
648
  const result = await this.createUnsignedPSBT({
@@ -698,6 +712,51 @@ class SyscoinTransactionsCore {
698
712
  }
699
713
  };
700
714
  // Removed createAndSignSysTransaction - functionality merged into getEstimateSysTransactionFee
715
+ /**
716
+ * Public metadata preparation for operation-scoped software signing. The
717
+ * returned PSBT preserves the unsigned transaction and existing cosigner data;
718
+ * signing still performs the normal account/scope checks.
719
+ */
720
+ this.preparePSBTForSigning = async ({ psbt }, ownedRead) => {
721
+ const { read, accountType, accountId, account } = this.captureOwnedRead({
722
+ ...ownedRead,
723
+ assertCurrent: () => {
724
+ this.assertPublicPreparation();
725
+ ownedRead.assertCurrent();
726
+ this.assertPublicPreparation();
727
+ },
728
+ });
729
+ const fields = psbt && typeof psbt === 'object' && !Array.isArray(psbt)
730
+ ? Object.getOwnPropertyDescriptors(psbt)
731
+ : {};
732
+ if (!fields.psbt ||
733
+ !('value' in fields.psbt) ||
734
+ typeof fields.psbt.value !== 'string' ||
735
+ !fields.assets ||
736
+ !('value' in fields.assets) ||
737
+ typeof fields.assets.value !== 'string')
738
+ throw new Error('Invalid PSBT JSON');
739
+ const captured = { psbt: fields.psbt.value, assets: fields.assets.value };
740
+ const psbtObj = psbt_1.PsbtUtils.fromPali(captured, read.network);
741
+ const unsigned = Buffer.from(psbtObj.data.globalMap.unsignedTx.toBuffer());
742
+ if (accountType === types_1.KeyringAccountType.HDAccount ||
743
+ accountType === types_1.KeyringAccountType.Imported)
744
+ await this.prepareSoftwareSigningPaths(psbtObj, read);
745
+ read.assertCurrent();
746
+ if (!unsigned.equals(Buffer.from(psbtObj.data.globalMap.unsignedTx.toBuffer())))
747
+ throw new Error('Prepared PSBT differs from the unsigned transaction');
748
+ const result = { ...psbt_1.PsbtUtils.toPali(psbtObj), assets: captured.assets };
749
+ // Scope validation trims foreign hints. Validate a separate public copy so
750
+ // the returned PSBT keeps all cosigner metadata for the existing flow.
751
+ (0, psbt_account_scope_1.assertPsbtAccountScope)(psbt_1.PsbtUtils.fromPali(result, read.network), {
752
+ account,
753
+ accountId,
754
+ accountType,
755
+ network: read.network,
756
+ });
757
+ read.assertCurrent();
758
+ return result;
759
+ };
701
760
  this.signPSBT = async ({ psbt }, ownedRead) => {
702
761
  const { read } = this.captureOwnedRead(ownedRead);
703
762
  const psbtObj = psbt_1.PsbtUtils.fromPali(psbt, read.network);
@@ -862,11 +921,16 @@ class SyscoinTransactionsCore {
862
921
  };
863
922
  if (typeof captureSigningContext !== 'function')
864
923
  throw new Error('Missing UTXO signing context');
924
+ if ((secretLifetime !== 'session' && secretLifetime !== 'operation') ||
925
+ typeof assertPublicPreparation !== 'function')
926
+ throw new Error('Missing explicit UTXO secret lifetime');
865
927
  this.getSigner = getSyscoinSigner;
866
928
  this.getReadOnlySigner = getReadOnlySigner;
867
929
  this.getState = getState;
868
930
  this.hardwareSigners = hardwareSigners;
869
931
  this.captureSigningContext = captureSigningContext;
932
+ this.secretLifetime = secretLifetime;
933
+ this.assertPublicPreparation = assertPublicPreparation;
870
934
  }
871
935
  captureOwnedRead(options) {
872
936
  return captureOwnedSyscoinRead(options, this.getState, this.captureSigningContext);
@@ -1 +1 @@
1
- {"version":3,"file":"syscoin-core.js","sourceRoot":"","sources":["../../../src/transactions/syscoin-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syscoin-core.js","sourceRoot":"","sources":["../../../src/transactions/syscoin-core.ts"],"names":[],"mappings":"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"}
package/cjs/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAKA,+DAAmE;AA8cnE,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,mDAA6B,CAAA;IAC7B,uCAAiB,CAAA;AACnB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sDAA+B,CAAA;IAC/B,kDAA2B,CAAA;IAC3B,wCAAiB,CAAA;IACjB,kDAA2B,CAAA;AAC7B,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAKA,+DAAmE;AAqenE,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,mDAA6B,CAAA;IAC7B,uCAAiB,CAAA;AACnB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sDAA+B,CAAA;IAC/B,kDAA2B,CAAA;IAC3B,wCAAiB,CAAA;IACjB,kDAA2B,CAAA;AAC7B,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.utxoFeeRateUnits = utxoFeeRateUnits;
4
+ /**
5
+ * The public rate is coins/vbyte. Convert its decimal representation exactly:
6
+ * multiplying a binary Number first can make 7e-8 round up to 8 atomic units.
7
+ */
8
+ function utxoFeeRateUnits(rate) {
9
+ if (!Number.isFinite(rate) || rate <= 0)
10
+ throw new Error('Invalid UTXO fee rate');
11
+ const [coefficient, scientific = '0'] = rate
12
+ .toString()
13
+ .toLowerCase()
14
+ .split('e');
15
+ const [whole, fraction = ''] = coefficient.split('.');
16
+ const digits = BigInt(whole + fraction);
17
+ const scale = Number(scientific) - fraction.length + 8;
18
+ // ES2015 consumer transforms rewrite exponentiation to Math.pow, which
19
+ // cannot accept BigInt. Finite Number input keeps this decimal string bounded.
20
+ const power = BigInt('1' + '0'.repeat(Math.abs(scale)));
21
+ const units = scale < 0 ? (digits + power - 1n) / power : digits * power;
22
+ if (units > BigInt(Number.MAX_SAFE_INTEGER))
23
+ throw new Error('Invalid UTXO fee rate');
24
+ return Math.max(1, Number(units));
25
+ }
26
+ //# sourceMappingURL=utxo-fee-rate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utxo-fee-rate.js","sourceRoot":"","sources":["../../../src/utils/utxo-fee-rate.ts"],"names":[],"mappings":";;AAIA,4CAiBC;AArBD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,EAAE,UAAU,GAAG,GAAG,CAAC,GAAG,IAAI;SACzC,QAAQ,EAAE;SACV,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,uEAAuE;IACvE,+EAA+E;IAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;IACzE,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC"}