@bitgo-beta/sdk-coin-sol 7.6.4-beta.715 → 7.6.4-beta.716

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tokenExtensions.d.ts","sourceRoot":"","sources":["../../../../src/lib/tokenExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAUL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAYD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,EAAE,CAK3D;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,qBAAqB,EAAE,CASlG;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,uBAAuB,CAwD3E;AAED,2FAA2F;AAC3F,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,GAAE,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAIlC"}
1
+ {"version":3,"file":"tokenExtensions.d.ts","sourceRoot":"","sources":["../../../../src/lib/tokenExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAWL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAYD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,EAAE,CAK3D;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,GAAG,qBAAqB,EAAE,CASlG;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,uBAAuB,CA4D3E;AAED,2FAA2F;AAC3F,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,GAAE,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAIlC"}
@@ -87,10 +87,14 @@ function parseMintExtensions(mintInfo) {
87
87
  permissionlessThaw: false,
88
88
  };
89
89
  }
90
- // NOTE: ScaledUiAmount config parsing (initialMultiplier) is intentionally deferred — the typed
91
- // getter is not available in @solana/spl-token@0.4.9. The extension is still *detected* above
92
- // (so the safety gate sees it); populating scaledUiAmount.initialMultiplier is a follow-up that
93
- // bumps @solana/spl-token to a version exposing getScaledUiAmountConfig. See PR for 3.4.
90
+ // ScaledUiAmountConfig: capture the multiplier effective at onboarding. `multiplier` is the
91
+ // live value; a scheduled change (newMultiplier + newMultiplierEffectiveTimestamp) is tracked
92
+ // by the indexer's mint-config-changes feed, not by this frozen snapshot (CSHLD-1688).
93
+ // multiplier is an f64 — stringify for the exact-decimal contract the consumers use.
94
+ const scaledUi = (0, spl_token_1.getScaledUiAmountConfig)(mintInfo);
95
+ if (scaledUi) {
96
+ extensions.scaledUiAmount = { initialMultiplier: scaledUi.multiplier.toString() };
97
+ }
94
98
  if (Object.values(authorities).some((v) => v !== undefined)) {
95
99
  extensions.authorities = authorities;
96
100
  }
@@ -102,4 +106,4 @@ async function readMintExtensions(connection, mint, commitment = 'finalized') {
102
106
  const mintInfo = await (0, spl_token_1.getMint)(connection, mintPubkey, commitment, spl_token_1.TOKEN_2022_PROGRAM_ID);
103
107
  return parseMintExtensions(mintInfo);
104
108
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5FeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90b2tlbkV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1Q0EsZ0RBS0M7QUFHRCxvREFTQztBQWtCRCxrREF3REM7QUFHRCxnREFRQztBQTdJRCxpREFBZ0Y7QUFDaEYsaURBWTJCO0FBQzNCLDZDQUFvRTtBQWNwRSwyRkFBMkY7QUFDM0YsTUFBTSxrQkFBa0IsR0FBb0Q7SUFDMUUsaUJBQWlCLEVBQUUsK0JBQXFCLENBQUMsV0FBVztJQUNwRCxZQUFZLEVBQUUsK0JBQXFCLENBQUMsWUFBWTtJQUNoRCxpQkFBaUIsRUFBRSwrQkFBcUIsQ0FBQyxpQkFBaUI7SUFDMUQscUJBQXFCLEVBQUUsK0JBQXFCLENBQUMsZUFBZTtJQUM1RCxtQkFBbUIsRUFBRSwrQkFBcUIsQ0FBQyxtQkFBbUI7SUFDOUQsb0JBQW9CLEVBQUUsK0JBQXFCLENBQUMsY0FBYztDQUMzRCxDQUFDO0FBRUYsd0VBQXdFO0FBQ3hFLFNBQWdCLGtCQUFrQixDQUFDLFFBQWM7SUFDL0MsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLElBQUEsNkJBQWlCLEVBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMseUJBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELG9HQUFvRztBQUNwRyxTQUFnQixvQkFBb0IsQ0FBQyxpQkFBb0M7SUFDdkUsTUFBTSxPQUFPLEdBQTRCLEVBQUUsQ0FBQztJQUM1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsa0JB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Q0FBQyxNQUFNO1lBQ25ELGtCQUFrQixFQUFFLEtBQUs7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxnR0FBZ0c7SUFDaEcsOEZBQThGO0lBQzlGLGdHQUFnRztJQUNoRyx5RkFBeUY7SUFFekYsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDNUQsVUFBVSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRUQsMkZBQTJGO0FBQ3BGLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsVUFBc0IsRUFDdEIsSUFBd0IsRUFDeEIsYUFBeUIsV0FBVztJQUVwQyxNQUFNLFVBQVUsR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksbUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxtQkFBTyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGlDQUFxQixDQUFDLENBQUM7SUFDMUYsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29sVG9rZW5FeHRlbnNpb25zLCBTb2xUb2tlbkV4dGVuc2lvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEFjY291bnRTdGF0ZSxcbiAgRXh0ZW5zaW9uVHlwZSxcbiAgZ2V0RXh0ZW5zaW9uRGF0YSxcbiAgZ2V0RXh0ZW5zaW9uVHlwZXMsXG4gIGdldEludGVyZXN0QmVhcmluZ01pbnRDb25maWdTdGF0ZSxcbiAgZ2V0TWludCxcbiAgZ2V0UGVybWFuZW50RGVsZWdhdGUsXG4gIGdldFRyYW5zZmVyRmVlQ29uZmlnLFxuICBnZXRUcmFuc2Zlckhvb2ssXG4gIHR5cGUgTWludCxcbiAgVE9LRU5fMjAyMl9QUk9HUkFNX0lELFxufSBmcm9tICdAc29sYW5hL3NwbC10b2tlbic7XG5pbXBvcnQgeyBDb21taXRtZW50LCBDb25uZWN0aW9uLCBQdWJsaWNLZXkgfSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuXG4vKipcbiAqIFJlc3VsdCBvZiByZWFkaW5nIGEgVG9rZW4tMjAyMiBtaW50J3MgZXh0ZW5zaW9uIGRhdGEuXG4gKlxuICogYGRldGVjdGVkVHlwZU5hbWVzYCBsaXN0cyBFVkVSWSBleHRlbnNpb24gcHJlc2VudCBvbiB0aGUgbWludCDigJQgaW5jbHVkaW5nIG9uZXMgQml0R28gZG9lc1xuICogbm90IG1vZGVsIOKAlCBzbyBjYWxsZXJzIGNhbiBydW4gdGhlIG9uYm9hcmRpbmcgc2FmZXR5IGdhdGUgKGBnZXRVbnN1cHBvcnRlZFNvbFRva2VuRXh0ZW5zaW9uc2ApLlxuICogYGV4dGVuc2lvbnNgIGlzIHRoZSB0eXBlZCwgc3RvcmFibGUgY29uZmlnIGZvciB0aGUgZXh0ZW5zaW9ucyBCaXRHbyBkb2VzIG1vZGVsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pbnRFeHRlbnNpb25SZWFkUmVzdWx0IHtcbiAgZGV0ZWN0ZWRUeXBlTmFtZXM6IHN0cmluZ1tdO1xuICBleHRlbnNpb25zOiBTb2xUb2tlbkV4dGVuc2lvbnM7XG59XG5cbi8qKiBNYXAgZnJvbSBgQHNvbGFuYS9zcGwtdG9rZW5gIEV4dGVuc2lvblR5cGUgbmFtZXMgdG8gQml0R28ncyBtb2RlbGVkIGV4dGVuc2lvbiB0eXBlcy4gKi9cbmNvbnN0IEVYVEVOU0lPTl9OQU1FX01BUDogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgU29sVG9rZW5FeHRlbnNpb25UeXBlPj4gPSB7XG4gIFRyYW5zZmVyRmVlQ29uZmlnOiBTb2xUb2tlbkV4dGVuc2lvblR5cGUuVHJhbnNmZXJGZWUsXG4gIFRyYW5zZmVySG9vazogU29sVG9rZW5FeHRlbnNpb25UeXBlLlRyYW5zZmVySG9vayxcbiAgUGVybWFuZW50RGVsZWdhdGU6IFNvbFRva2VuRXh0ZW5zaW9uVHlwZS5QZXJtYW5lbnREZWxlZ2F0ZSxcbiAgSW50ZXJlc3RCZWFyaW5nQ29uZmlnOiBTb2xUb2tlbkV4dGVuc2lvblR5cGUuSW50ZXJlc3RCZWFyaW5nLFxuICBEZWZhdWx0QWNjb3VudFN0YXRlOiBTb2xUb2tlbkV4dGVuc2lvblR5cGUuRGVmYXVsdEFjY291bnRTdGF0ZSxcbiAgU2NhbGVkVWlBbW91bnRDb25maWc6IFNvbFRva2VuRXh0ZW5zaW9uVHlwZS5TY2FsZWRVaUFtb3VudCxcbn07XG5cbi8qKiBIdW1hbi1yZWFkYWJsZSBuYW1lcyBvZiBldmVyeSBleHRlbnNpb24gdHlwZSBwcmVzZW50IG9uIHRoZSBtaW50LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuc2lvblR5cGVOYW1lcyhtaW50SW5mbzogTWludCk6IHN0cmluZ1tdIHtcbiAgaWYgKG1pbnRJbmZvLnRsdkRhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBnZXRFeHRlbnNpb25UeXBlcyhtaW50SW5mby50bHZEYXRhKS5tYXAoKHQpID0+IEV4dGVuc2lvblR5cGVbdF0gPz8gYHVua25vd24oJHt0fSlgKTtcbn1cblxuLyoqIFRoZSBzdWJzZXQgb2YgZGV0ZWN0ZWQgZXh0ZW5zaW9ucyB0aGF0IEJpdEdvIG1vZGVscy4gUHVyZSDigJQgdW5pdC10ZXN0YWJsZSB3aXRob3V0IGNoYWluIGRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gbWFwTW9kZWxlZEV4dGVuc2lvbnMoZGV0ZWN0ZWRUeXBlTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdKTogU29sVG9rZW5FeHRlbnNpb25UeXBlW10ge1xuICBjb25zdCBtb2RlbGVkOiBTb2xUb2tlbkV4dGVuc2lvblR5cGVbXSA9IFtdO1xuICBmb3IgKGNvbnN0IG5hbWUgb2YgZGV0ZWN0ZWRUeXBlTmFtZXMpIHtcbiAgICBjb25zdCBtYXBwZWQgPSBFWFRFTlNJT05fTkFNRV9NQVBbbmFtZV07XG4gICAgaWYgKG1hcHBlZCAhPT0gdW5kZWZpbmVkICYmICFtb2RlbGVkLmluY2x1ZGVzKG1hcHBlZCkpIHtcbiAgICAgIG1vZGVsZWQucHVzaChtYXBwZWQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbW9kZWxlZDtcbn1cblxuLy8gTm8gU0RLLWxldmVsIGV4dGVuc2lvbi1jb21iaW5hdGlvbiBhc3NlcnQ6IHRoZSBvbi1jaGFpbiBwcm9ncmFtIGFscmVhZHlcbi8vIGVuZm9yY2VzIGl0cyBvd24gaW52YWxpZC1jb21iaW5hdGlvbiBydWxlcyBhdCBleHRlbnNpb24gaW5pdFxuLy8gKGBjaGVja19mb3JfaW52YWxpZF9taW50X2V4dGVuc2lvbl9jb21iaW5hdGlvbnNgIGluIHRva2VuLTIwMjIpLCBhbmQgaXQgZG9lc1xuLy8gTk9UIGZvcmJpZCBUcmFuc2Zlckhvb2sgKyBDb25maWRlbnRpYWxUcmFuc2Zlck1pbnQuIEEgcHJldmlvdXMgYXNzZXJ0IGhlcmVcbi8vIHJlamVjdGVkIHRoYXQgbGVnYWwgcGFpciBhbmQgYmxvY2tlZCBvbmJvYXJkaW5nIG9mIHJlYWwgbWludHMuIEN1c3RvZHlcbi8vIHBvbGljeSBvbiB3aGljaCBjb21iaW5hdGlvbnMgQml0R28gd2lsbCBzZXJ2ZSBiZWxvbmdzIHRvIGNvbnN1bWVyc1xuLy8gKHN0YXRpY3MgYGdldFVuc3VwcG9ydGVkU29sVG9rZW5FeHRlbnNpb25zYCwgdGhlIEFNUyBvbmJvYXJkaW5nIGdhdGUpLlxuXG5mdW5jdGlvbiB0b0Jhc2U1OChrZXk6IFB1YmxpY0tleSB8IG51bGwpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4ga2V5ID8ga2V5LnRvQmFzZTU4KCkgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUGFyc2UgYSBkZWNvZGVkIFRva2VuLTIwMjIgYE1pbnRgIGludG8gQml0R28ncyBleHRlbnNpb24gbW9kZWwuIFNlcGFyYXRlZCBmcm9tIHRoZSBSUEMgY2FsbFxuICogc28gaXQgY2FuIGJlIHVuaXQtdGVzdGVkIGFnYWluc3QgcmVjb3JkZWQgbWludCBmaXh0dXJlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWludEV4dGVuc2lvbnMobWludEluZm86IE1pbnQpOiBNaW50RXh0ZW5zaW9uUmVhZFJlc3VsdCB7XG4gIGNvbnN0IGRldGVjdGVkVHlwZU5hbWVzID0gZXh0ZW5zaW9uVHlwZU5hbWVzKG1pbnRJbmZvKTtcblxuICBjb25zdCBleHRlbnNpb25zOiBTb2xUb2tlbkV4dGVuc2lvbnMgPSB7IGRldGVjdGVkOiBtYXBNb2RlbGVkRXh0ZW5zaW9ucyhkZXRlY3RlZFR5cGVOYW1lcykgfTtcbiAgY29uc3QgYXV0aG9yaXRpZXM6IE5vbk51bGxhYmxlPFNvbFRva2VuRXh0ZW5zaW9uc1snYXV0aG9yaXRpZXMnXT4gPSB7XG4gICAgbWludEF1dGhvcml0eTogdG9CYXNlNTgobWludEluZm8ubWludEF1dGhvcml0eSksXG4gICAgZnJlZXplQXV0aG9yaXR5OiB0b0Jhc2U1OChtaW50SW5mby5mcmVlemVBdXRob3JpdHkpLFxuICB9O1xuXG4gIGNvbnN0IGZlZUNvbmZpZyA9IGdldFRyYW5zZmVyRmVlQ29uZmlnKG1pbnRJbmZvKTtcbiAgaWYgKGZlZUNvbmZpZykge1xuICAgIGV4dGVuc2lvbnMudHJhbnNmZXJGZWUgPSB7XG4gICAgICB0cmFuc2ZlckZlZUJhc2lzUG9pbnRzOiBmZWVDb25maWcubmV3ZXJUcmFuc2ZlckZlZS50cmFuc2ZlckZlZUJhc2lzUG9pbnRzLFxuICAgICAgbWF4aW11bUZlZTogZmVlQ29uZmlnLm5ld2VyVHJhbnNmZXJGZWUubWF4aW11bUZlZS50b1N0cmluZygpLFxuICAgIH07XG4gICAgYXV0aG9yaXRpZXMudHJhbnNmZXJGZWVDb25maWdBdXRob3JpdHkgPSB0b0Jhc2U1OChmZWVDb25maWcudHJhbnNmZXJGZWVDb25maWdBdXRob3JpdHkpO1xuICAgIGF1dGhvcml0aWVzLndpdGhkcmF3V2l0aGhlbGRBdXRob3JpdHkgPSB0b0Jhc2U1OChmZWVDb25maWcud2l0aGRyYXdXaXRoaGVsZEF1dGhvcml0eSk7XG4gIH1cblxuICBjb25zdCBob29rID0gZ2V0VHJhbnNmZXJIb29rKG1pbnRJbmZvKTtcbiAgaWYgKGhvb2spIHtcbiAgICBleHRlbnNpb25zLnRyYW5zZmVySG9va1Byb2dyYW1JZCA9IGhvb2sucHJvZ3JhbUlkLnRvQmFzZTU4KCk7XG4gIH1cblxuICBjb25zdCBkZWxlZ2F0ZSA9IGdldFBlcm1hbmVudERlbGVnYXRlKG1pbnRJbmZvKTtcbiAgaWYgKGRlbGVnYXRlPy5kZWxlZ2F0ZSkge1xuICAgIGF1dGhvcml0aWVzLnBlcm1hbmVudERlbGVnYXRlID0gZGVsZWdhdGUuZGVsZWdhdGUudG9CYXNlNTgoKTtcbiAgfVxuXG4gIGNvbnN0IGludGVyZXN0ID0gZ2V0SW50ZXJlc3RCZWFyaW5nTWludENvbmZpZ1N0YXRlKG1pbnRJbmZvKTtcbiAgaWYgKGludGVyZXN0KSB7XG4gICAgZXh0ZW5zaW9ucy5pbnRlcmVzdEJlYXJpbmcgPSB7IHJhdGVCYXNpc1BvaW50czogaW50ZXJlc3QuY3VycmVudFJhdGUgfTtcbiAgICBhdXRob3JpdGllcy5yYXRlQXV0aG9yaXR5ID0gdG9CYXNlNTgoaW50ZXJlc3QucmF0ZUF1dGhvcml0eSk7XG4gIH1cblxuICAvLyBEZWZhdWx0QWNjb3VudFN0YXRlIGlzIGEgc2luZ2xlIGJ5dGUgKEFjY291bnRTdGF0ZSkuIERlY29kZWQgZ2VuZXJpY2FsbHkgdG8gYXZvaWQgZGVwZW5kaW5nXG4gIC8vIG9uIGEgdmVyc2lvbi1zcGVjaWZpYyB0eXBlZCBnZXR0ZXIuIHBlcm1pc3Npb25sZXNzVGhhdyBpcyBOT1Qgb24tY2hhaW4g4oCUIHJlc29sdmVkIHNlcGFyYXRlbHlcbiAgLy8gYXQgb25ib2FyZGluZzsgZGVmYXVsdHMgZmFsc2UgdW50aWwgY29uZmlybWVkLlxuICBjb25zdCBkZWZhdWx0U3RhdGVEYXRhID0gZ2V0RXh0ZW5zaW9uRGF0YShFeHRlbnNpb25UeXBlLkRlZmF1bHRBY2NvdW50U3RhdGUsIG1pbnRJbmZvLnRsdkRhdGEpO1xuICBpZiAoZGVmYXVsdFN0YXRlRGF0YSkge1xuICAgIGV4dGVuc2lvbnMuZGVmYXVsdEFjY291bnRTdGF0ZSA9IHtcbiAgICAgIGZyb3plbjogZGVmYXVsdFN0YXRlRGF0YVswXSA9PT0gQWNjb3VudFN0YXRlLkZyb3plbixcbiAgICAgIHBlcm1pc3Npb25sZXNzVGhhdzogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIC8vIE5PVEU6IFNjYWxlZFVpQW1vdW50IGNvbmZpZyBwYXJzaW5nIChpbml0aWFsTXVsdGlwbGllcikgaXMgaW50ZW50aW9uYWxseSBkZWZlcnJlZCDigJQgdGhlIHR5cGVkXG4gIC8vIGdldHRlciBpcyBub3QgYXZhaWxhYmxlIGluIEBzb2xhbmEvc3BsLXRva2VuQDAuNC45LiBUaGUgZXh0ZW5zaW9uIGlzIHN0aWxsICpkZXRlY3RlZCogYWJvdmVcbiAgLy8gKHNvIHRoZSBzYWZldHkgZ2F0ZSBzZWVzIGl0KTsgcG9wdWxhdGluZyBzY2FsZWRVaUFtb3VudC5pbml0aWFsTXVsdGlwbGllciBpcyBhIGZvbGxvdy11cCB0aGF0XG4gIC8vIGJ1bXBzIEBzb2xhbmEvc3BsLXRva2VuIHRvIGEgdmVyc2lvbiBleHBvc2luZyBnZXRTY2FsZWRVaUFtb3VudENvbmZpZy4gU2VlIFBSIGZvciAzLjQuXG5cbiAgaWYgKE9iamVjdC52YWx1ZXMoYXV0aG9yaXRpZXMpLnNvbWUoKHYpID0+IHYgIT09IHVuZGVmaW5lZCkpIHtcbiAgICBleHRlbnNpb25zLmF1dGhvcml0aWVzID0gYXV0aG9yaXRpZXM7XG4gIH1cblxuICByZXR1cm4geyBkZXRlY3RlZFR5cGVOYW1lcywgZXh0ZW5zaW9ucyB9O1xufVxuXG4vKiogRmV0Y2ggYSBUb2tlbi0yMDIyIG1pbnQgYW5kIHBhcnNlIGl0cyBleHRlbnNpb25zLiBVc2VzIGBmaW5hbGl6ZWRgIGNvbW1pdG1lbnQgcnVsZXMuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE1pbnRFeHRlbnNpb25zKFxuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uLFxuICBtaW50OiBzdHJpbmcgfCBQdWJsaWNLZXksXG4gIGNvbW1pdG1lbnQ6IENvbW1pdG1lbnQgPSAnZmluYWxpemVkJ1xuKTogUHJvbWlzZTxNaW50RXh0ZW5zaW9uUmVhZFJlc3VsdD4ge1xuICBjb25zdCBtaW50UHVia2V5ID0gdHlwZW9mIG1pbnQgPT09ICdzdHJpbmcnID8gbmV3IFB1YmxpY0tleShtaW50KSA6IG1pbnQ7XG4gIGNvbnN0IG1pbnRJbmZvID0gYXdhaXQgZ2V0TWludChjb25uZWN0aW9uLCBtaW50UHVia2V5LCBjb21taXRtZW50LCBUT0tFTl8yMDIyX1BST0dSQU1fSUQpO1xuICByZXR1cm4gcGFyc2VNaW50RXh0ZW5zaW9ucyhtaW50SW5mbyk7XG59XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5FeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90b2tlbkV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF3Q0EsZ0RBS0M7QUFHRCxvREFTQztBQWtCRCxrREE0REM7QUFHRCxnREFRQztBQWxKRCxpREFBZ0Y7QUFDaEYsaURBYTJCO0FBQzNCLDZDQUFvRTtBQWNwRSwyRkFBMkY7QUFDM0YsTUFBTSxrQkFBa0IsR0FBb0Q7SUFDMUUsaUJBQWlCLEVBQUUsK0JBQXFCLENBQUMsV0FBVztJQUNwRCxZQUFZLEVBQUUsK0JBQXFCLENBQUMsWUFBWTtJQUNoRCxpQkFBaUIsRUFBRSwrQkFBcUIsQ0FBQyxpQkFBaUI7SUFDMUQscUJBQXFCLEVBQUUsK0JBQXFCLENBQUMsZUFBZTtJQUM1RCxtQkFBbUIsRUFBRSwrQkFBcUIsQ0FBQyxtQkFBbUI7SUFDOUQsb0JBQW9CLEVBQUUsK0JBQXFCLENBQUMsY0FBYztDQUMzRCxDQUFDO0FBRUYsd0VBQXdFO0FBQ3hFLFNBQWdCLGtCQUFrQixDQUFDLFFBQWM7SUFDL0MsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLElBQUEsNkJBQWlCLEVBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMseUJBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELG9HQUFvRztBQUNwRyxTQUFnQixvQkFBb0IsQ0FBQyxpQkFBb0M7SUFDdkUsTUFBTSxPQUFPLEdBQTRCLEVBQUUsQ0FBQztJQUM1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsa0JB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Q0FBQyxNQUFNO1lBQ25ELGtCQUFrQixFQUFFLEtBQUs7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCw0RkFBNEY7SUFDNUYsOEZBQThGO0lBQzlGLHVGQUF1RjtJQUN2RixxRkFBcUY7SUFDckYsTUFBTSxRQUFRLEdBQUcsSUFBQSxtQ0FBdUIsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsVUFBVSxDQUFDLGNBQWMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUNwRixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDNUQsVUFBVSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRUQsMkZBQTJGO0FBQ3BGLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsVUFBc0IsRUFDdEIsSUFBd0IsRUFDeEIsYUFBeUIsV0FBVztJQUVwQyxNQUFNLFVBQVUsR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksbUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxtQkFBTyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGlDQUFxQixDQUFDLENBQUM7SUFDMUYsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29sVG9rZW5FeHRlbnNpb25zLCBTb2xUb2tlbkV4dGVuc2lvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEFjY291bnRTdGF0ZSxcbiAgRXh0ZW5zaW9uVHlwZSxcbiAgZ2V0RXh0ZW5zaW9uRGF0YSxcbiAgZ2V0RXh0ZW5zaW9uVHlwZXMsXG4gIGdldEludGVyZXN0QmVhcmluZ01pbnRDb25maWdTdGF0ZSxcbiAgZ2V0TWludCxcbiAgZ2V0UGVybWFuZW50RGVsZWdhdGUsXG4gIGdldFNjYWxlZFVpQW1vdW50Q29uZmlnLFxuICBnZXRUcmFuc2ZlckZlZUNvbmZpZyxcbiAgZ2V0VHJhbnNmZXJIb29rLFxuICB0eXBlIE1pbnQsXG4gIFRPS0VOXzIwMjJfUFJPR1JBTV9JRCxcbn0gZnJvbSAnQHNvbGFuYS9zcGwtdG9rZW4nO1xuaW1wb3J0IHsgQ29tbWl0bWVudCwgQ29ubmVjdGlvbiwgUHVibGljS2V5IH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcblxuLyoqXG4gKiBSZXN1bHQgb2YgcmVhZGluZyBhIFRva2VuLTIwMjIgbWludCdzIGV4dGVuc2lvbiBkYXRhLlxuICpcbiAqIGBkZXRlY3RlZFR5cGVOYW1lc2AgbGlzdHMgRVZFUlkgZXh0ZW5zaW9uIHByZXNlbnQgb24gdGhlIG1pbnQg4oCUIGluY2x1ZGluZyBvbmVzIEJpdEdvIGRvZXNcbiAqIG5vdCBtb2RlbCDigJQgc28gY2FsbGVycyBjYW4gcnVuIHRoZSBvbmJvYXJkaW5nIHNhZmV0eSBnYXRlIChgZ2V0VW5zdXBwb3J0ZWRTb2xUb2tlbkV4dGVuc2lvbnNgKS5cbiAqIGBleHRlbnNpb25zYCBpcyB0aGUgdHlwZWQsIHN0b3JhYmxlIGNvbmZpZyBmb3IgdGhlIGV4dGVuc2lvbnMgQml0R28gZG9lcyBtb2RlbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNaW50RXh0ZW5zaW9uUmVhZFJlc3VsdCB7XG4gIGRldGVjdGVkVHlwZU5hbWVzOiBzdHJpbmdbXTtcbiAgZXh0ZW5zaW9uczogU29sVG9rZW5FeHRlbnNpb25zO1xufVxuXG4vKiogTWFwIGZyb20gYEBzb2xhbmEvc3BsLXRva2VuYCBFeHRlbnNpb25UeXBlIG5hbWVzIHRvIEJpdEdvJ3MgbW9kZWxlZCBleHRlbnNpb24gdHlwZXMuICovXG5jb25zdCBFWFRFTlNJT05fTkFNRV9NQVA6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIFNvbFRva2VuRXh0ZW5zaW9uVHlwZT4+ID0ge1xuICBUcmFuc2ZlckZlZUNvbmZpZzogU29sVG9rZW5FeHRlbnNpb25UeXBlLlRyYW5zZmVyRmVlLFxuICBUcmFuc2Zlckhvb2s6IFNvbFRva2VuRXh0ZW5zaW9uVHlwZS5UcmFuc2Zlckhvb2ssXG4gIFBlcm1hbmVudERlbGVnYXRlOiBTb2xUb2tlbkV4dGVuc2lvblR5cGUuUGVybWFuZW50RGVsZWdhdGUsXG4gIEludGVyZXN0QmVhcmluZ0NvbmZpZzogU29sVG9rZW5FeHRlbnNpb25UeXBlLkludGVyZXN0QmVhcmluZyxcbiAgRGVmYXVsdEFjY291bnRTdGF0ZTogU29sVG9rZW5FeHRlbnNpb25UeXBlLkRlZmF1bHRBY2NvdW50U3RhdGUsXG4gIFNjYWxlZFVpQW1vdW50Q29uZmlnOiBTb2xUb2tlbkV4dGVuc2lvblR5cGUuU2NhbGVkVWlBbW91bnQsXG59O1xuXG4vKiogSHVtYW4tcmVhZGFibGUgbmFtZXMgb2YgZXZlcnkgZXh0ZW5zaW9uIHR5cGUgcHJlc2VudCBvbiB0aGUgbWludC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRlbnNpb25UeXBlTmFtZXMobWludEluZm86IE1pbnQpOiBzdHJpbmdbXSB7XG4gIGlmIChtaW50SW5mby50bHZEYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gZ2V0RXh0ZW5zaW9uVHlwZXMobWludEluZm8udGx2RGF0YSkubWFwKCh0KSA9PiBFeHRlbnNpb25UeXBlW3RdID8/IGB1bmtub3duKCR7dH0pYCk7XG59XG5cbi8qKiBUaGUgc3Vic2V0IG9mIGRldGVjdGVkIGV4dGVuc2lvbnMgdGhhdCBCaXRHbyBtb2RlbHMuIFB1cmUg4oCUIHVuaXQtdGVzdGFibGUgd2l0aG91dCBjaGFpbiBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcE1vZGVsZWRFeHRlbnNpb25zKGRldGVjdGVkVHlwZU5hbWVzOiByZWFkb25seSBzdHJpbmdbXSk6IFNvbFRva2VuRXh0ZW5zaW9uVHlwZVtdIHtcbiAgY29uc3QgbW9kZWxlZDogU29sVG9rZW5FeHRlbnNpb25UeXBlW10gPSBbXTtcbiAgZm9yIChjb25zdCBuYW1lIG9mIGRldGVjdGVkVHlwZU5hbWVzKSB7XG4gICAgY29uc3QgbWFwcGVkID0gRVhURU5TSU9OX05BTUVfTUFQW25hbWVdO1xuICAgIGlmIChtYXBwZWQgIT09IHVuZGVmaW5lZCAmJiAhbW9kZWxlZC5pbmNsdWRlcyhtYXBwZWQpKSB7XG4gICAgICBtb2RlbGVkLnB1c2gobWFwcGVkKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1vZGVsZWQ7XG59XG5cbi8vIE5vIFNESy1sZXZlbCBleHRlbnNpb24tY29tYmluYXRpb24gYXNzZXJ0OiB0aGUgb24tY2hhaW4gcHJvZ3JhbSBhbHJlYWR5XG4vLyBlbmZvcmNlcyBpdHMgb3duIGludmFsaWQtY29tYmluYXRpb24gcnVsZXMgYXQgZXh0ZW5zaW9uIGluaXRcbi8vIChgY2hlY2tfZm9yX2ludmFsaWRfbWludF9leHRlbnNpb25fY29tYmluYXRpb25zYCBpbiB0b2tlbi0yMDIyKSwgYW5kIGl0IGRvZXNcbi8vIE5PVCBmb3JiaWQgVHJhbnNmZXJIb29rICsgQ29uZmlkZW50aWFsVHJhbnNmZXJNaW50LiBBIHByZXZpb3VzIGFzc2VydCBoZXJlXG4vLyByZWplY3RlZCB0aGF0IGxlZ2FsIHBhaXIgYW5kIGJsb2NrZWQgb25ib2FyZGluZyBvZiByZWFsIG1pbnRzLiBDdXN0b2R5XG4vLyBwb2xpY3kgb24gd2hpY2ggY29tYmluYXRpb25zIEJpdEdvIHdpbGwgc2VydmUgYmVsb25ncyB0byBjb25zdW1lcnNcbi8vIChzdGF0aWNzIGBnZXRVbnN1cHBvcnRlZFNvbFRva2VuRXh0ZW5zaW9uc2AsIHRoZSBBTVMgb25ib2FyZGluZyBnYXRlKS5cblxuZnVuY3Rpb24gdG9CYXNlNTgoa2V5OiBQdWJsaWNLZXkgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGtleSA/IGtleS50b0Jhc2U1OCgpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFBhcnNlIGEgZGVjb2RlZCBUb2tlbi0yMDIyIGBNaW50YCBpbnRvIEJpdEdvJ3MgZXh0ZW5zaW9uIG1vZGVsLiBTZXBhcmF0ZWQgZnJvbSB0aGUgUlBDIGNhbGxcbiAqIHNvIGl0IGNhbiBiZSB1bml0LXRlc3RlZCBhZ2FpbnN0IHJlY29yZGVkIG1pbnQgZml4dHVyZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1pbnRFeHRlbnNpb25zKG1pbnRJbmZvOiBNaW50KTogTWludEV4dGVuc2lvblJlYWRSZXN1bHQge1xuICBjb25zdCBkZXRlY3RlZFR5cGVOYW1lcyA9IGV4dGVuc2lvblR5cGVOYW1lcyhtaW50SW5mbyk7XG5cbiAgY29uc3QgZXh0ZW5zaW9uczogU29sVG9rZW5FeHRlbnNpb25zID0geyBkZXRlY3RlZDogbWFwTW9kZWxlZEV4dGVuc2lvbnMoZGV0ZWN0ZWRUeXBlTmFtZXMpIH07XG4gIGNvbnN0IGF1dGhvcml0aWVzOiBOb25OdWxsYWJsZTxTb2xUb2tlbkV4dGVuc2lvbnNbJ2F1dGhvcml0aWVzJ10+ID0ge1xuICAgIG1pbnRBdXRob3JpdHk6IHRvQmFzZTU4KG1pbnRJbmZvLm1pbnRBdXRob3JpdHkpLFxuICAgIGZyZWV6ZUF1dGhvcml0eTogdG9CYXNlNTgobWludEluZm8uZnJlZXplQXV0aG9yaXR5KSxcbiAgfTtcblxuICBjb25zdCBmZWVDb25maWcgPSBnZXRUcmFuc2ZlckZlZUNvbmZpZyhtaW50SW5mbyk7XG4gIGlmIChmZWVDb25maWcpIHtcbiAgICBleHRlbnNpb25zLnRyYW5zZmVyRmVlID0ge1xuICAgICAgdHJhbnNmZXJGZWVCYXNpc1BvaW50czogZmVlQ29uZmlnLm5ld2VyVHJhbnNmZXJGZWUudHJhbnNmZXJGZWVCYXNpc1BvaW50cyxcbiAgICAgIG1heGltdW1GZWU6IGZlZUNvbmZpZy5uZXdlclRyYW5zZmVyRmVlLm1heGltdW1GZWUudG9TdHJpbmcoKSxcbiAgICB9O1xuICAgIGF1dGhvcml0aWVzLnRyYW5zZmVyRmVlQ29uZmlnQXV0aG9yaXR5ID0gdG9CYXNlNTgoZmVlQ29uZmlnLnRyYW5zZmVyRmVlQ29uZmlnQXV0aG9yaXR5KTtcbiAgICBhdXRob3JpdGllcy53aXRoZHJhd1dpdGhoZWxkQXV0aG9yaXR5ID0gdG9CYXNlNTgoZmVlQ29uZmlnLndpdGhkcmF3V2l0aGhlbGRBdXRob3JpdHkpO1xuICB9XG5cbiAgY29uc3QgaG9vayA9IGdldFRyYW5zZmVySG9vayhtaW50SW5mbyk7XG4gIGlmIChob29rKSB7XG4gICAgZXh0ZW5zaW9ucy50cmFuc2Zlckhvb2tQcm9ncmFtSWQgPSBob29rLnByb2dyYW1JZC50b0Jhc2U1OCgpO1xuICB9XG5cbiAgY29uc3QgZGVsZWdhdGUgPSBnZXRQZXJtYW5lbnREZWxlZ2F0ZShtaW50SW5mbyk7XG4gIGlmIChkZWxlZ2F0ZT8uZGVsZWdhdGUpIHtcbiAgICBhdXRob3JpdGllcy5wZXJtYW5lbnREZWxlZ2F0ZSA9IGRlbGVnYXRlLmRlbGVnYXRlLnRvQmFzZTU4KCk7XG4gIH1cblxuICBjb25zdCBpbnRlcmVzdCA9IGdldEludGVyZXN0QmVhcmluZ01pbnRDb25maWdTdGF0ZShtaW50SW5mbyk7XG4gIGlmIChpbnRlcmVzdCkge1xuICAgIGV4dGVuc2lvbnMuaW50ZXJlc3RCZWFyaW5nID0geyByYXRlQmFzaXNQb2ludHM6IGludGVyZXN0LmN1cnJlbnRSYXRlIH07XG4gICAgYXV0aG9yaXRpZXMucmF0ZUF1dGhvcml0eSA9IHRvQmFzZTU4KGludGVyZXN0LnJhdGVBdXRob3JpdHkpO1xuICB9XG5cbiAgLy8gRGVmYXVsdEFjY291bnRTdGF0ZSBpcyBhIHNpbmdsZSBieXRlIChBY2NvdW50U3RhdGUpLiBEZWNvZGVkIGdlbmVyaWNhbGx5IHRvIGF2b2lkIGRlcGVuZGluZ1xuICAvLyBvbiBhIHZlcnNpb24tc3BlY2lmaWMgdHlwZWQgZ2V0dGVyLiBwZXJtaXNzaW9ubGVzc1RoYXcgaXMgTk9UIG9uLWNoYWluIOKAlCByZXNvbHZlZCBzZXBhcmF0ZWx5XG4gIC8vIGF0IG9uYm9hcmRpbmc7IGRlZmF1bHRzIGZhbHNlIHVudGlsIGNvbmZpcm1lZC5cbiAgY29uc3QgZGVmYXVsdFN0YXRlRGF0YSA9IGdldEV4dGVuc2lvbkRhdGEoRXh0ZW5zaW9uVHlwZS5EZWZhdWx0QWNjb3VudFN0YXRlLCBtaW50SW5mby50bHZEYXRhKTtcbiAgaWYgKGRlZmF1bHRTdGF0ZURhdGEpIHtcbiAgICBleHRlbnNpb25zLmRlZmF1bHRBY2NvdW50U3RhdGUgPSB7XG4gICAgICBmcm96ZW46IGRlZmF1bHRTdGF0ZURhdGFbMF0gPT09IEFjY291bnRTdGF0ZS5Gcm96ZW4sXG4gICAgICBwZXJtaXNzaW9ubGVzc1RoYXc6IGZhbHNlLFxuICAgIH07XG4gIH1cblxuICAvLyBTY2FsZWRVaUFtb3VudENvbmZpZzogY2FwdHVyZSB0aGUgbXVsdGlwbGllciBlZmZlY3RpdmUgYXQgb25ib2FyZGluZy4gYG11bHRpcGxpZXJgIGlzIHRoZVxuICAvLyBsaXZlIHZhbHVlOyBhIHNjaGVkdWxlZCBjaGFuZ2UgKG5ld011bHRpcGxpZXIgKyBuZXdNdWx0aXBsaWVyRWZmZWN0aXZlVGltZXN0YW1wKSBpcyB0cmFja2VkXG4gIC8vIGJ5IHRoZSBpbmRleGVyJ3MgbWludC1jb25maWctY2hhbmdlcyBmZWVkLCBub3QgYnkgdGhpcyBmcm96ZW4gc25hcHNob3QgKENTSExELTE2ODgpLlxuICAvLyBtdWx0aXBsaWVyIGlzIGFuIGY2NCDigJQgc3RyaW5naWZ5IGZvciB0aGUgZXhhY3QtZGVjaW1hbCBjb250cmFjdCB0aGUgY29uc3VtZXJzIHVzZS5cbiAgY29uc3Qgc2NhbGVkVWkgPSBnZXRTY2FsZWRVaUFtb3VudENvbmZpZyhtaW50SW5mbyk7XG4gIGlmIChzY2FsZWRVaSkge1xuICAgIGV4dGVuc2lvbnMuc2NhbGVkVWlBbW91bnQgPSB7IGluaXRpYWxNdWx0aXBsaWVyOiBzY2FsZWRVaS5tdWx0aXBsaWVyLnRvU3RyaW5nKCkgfTtcbiAgfVxuXG4gIGlmIChPYmplY3QudmFsdWVzKGF1dGhvcml0aWVzKS5zb21lKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQpKSB7XG4gICAgZXh0ZW5zaW9ucy5hdXRob3JpdGllcyA9IGF1dGhvcml0aWVzO1xuICB9XG5cbiAgcmV0dXJuIHsgZGV0ZWN0ZWRUeXBlTmFtZXMsIGV4dGVuc2lvbnMgfTtcbn1cblxuLyoqIEZldGNoIGEgVG9rZW4tMjAyMiBtaW50IGFuZCBwYXJzZSBpdHMgZXh0ZW5zaW9ucy4gVXNlcyBgZmluYWxpemVkYCBjb21taXRtZW50IHJ1bGVzLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRNaW50RXh0ZW5zaW9ucyhcbiAgY29ubmVjdGlvbjogQ29ubmVjdGlvbixcbiAgbWludDogc3RyaW5nIHwgUHVibGljS2V5LFxuICBjb21taXRtZW50OiBDb21taXRtZW50ID0gJ2ZpbmFsaXplZCdcbik6IFByb21pc2U8TWludEV4dGVuc2lvblJlYWRSZXN1bHQ+IHtcbiAgY29uc3QgbWludFB1YmtleSA9IHR5cGVvZiBtaW50ID09PSAnc3RyaW5nJyA/IG5ldyBQdWJsaWNLZXkobWludCkgOiBtaW50O1xuICBjb25zdCBtaW50SW5mbyA9IGF3YWl0IGdldE1pbnQoY29ubmVjdGlvbiwgbWludFB1YmtleSwgY29tbWl0bWVudCwgVE9LRU5fMjAyMl9QUk9HUkFNX0lEKTtcbiAgcmV0dXJuIHBhcnNlTWludEV4dGVuc2lvbnMobWludEluZm8pO1xufVxuIl19
@@ -53,6 +53,21 @@ describe('Sol Token-2022 mint extension parsing', function () {
53
53
  result.extensions.detected.should.eql([statics_1.SolTokenExtensionType.TransferHook]);
54
54
  result.extensions.transferHookProgramId?.should.equal('11111111111111111111111111111111');
55
55
  });
56
+ it('parses a scaled-UI mint: detected name, modeled type, and initial multiplier', function () {
57
+ // Encoded with spl-token's own ScaledUiAmountConfigLayout so the fixture tracks the
58
+ // on-chain wire format (authority COption + f64 multiplier + u64 timestamp + f64 newMultiplier).
59
+ const value = Buffer.alloc(spl_token_1.ScaledUiAmountConfigLayout.span);
60
+ spl_token_1.ScaledUiAmountConfigLayout.encode({
61
+ authority: new web3_js_1.PublicKey('4SgEJtPSjLTD7porvAZYVJX9t4o4nG66b3rMxVpvoiXs'),
62
+ multiplier: 1.5,
63
+ newMultiplierEffectiveTimestamp: BigInt(0),
64
+ newMultiplier: 1.5,
65
+ }, value);
66
+ const result = (0, tokenExtensions_1.parseMintExtensions)(fakeMint(tlvEntry(spl_token_1.ExtensionType.ScaledUiAmountConfig, value)));
67
+ result.detectedTypeNames.should.eql(['ScaledUiAmountConfig']);
68
+ result.extensions.detected.should.eql([statics_1.SolTokenExtensionType.ScaledUiAmount]);
69
+ result.extensions.scaledUiAmount?.should.eql({ initialMultiplier: '1.5' });
70
+ });
56
71
  });
57
72
  });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5FeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3Rva2VuRXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQixpREFBNEQ7QUFDNUQsaURBQTZEO0FBQzdELDZDQUE0QztBQUM1QyxtRUFBMEY7QUFFMUYsUUFBUSxDQUFDLHVDQUF1QyxFQUFFO0lBQ2hELFFBQVEsQ0FBQyxzQkFBc0IsRUFBRTtRQUMvQixFQUFFLENBQUMsdURBQXVELEVBQUU7WUFDMUQsSUFBQSxzQ0FBb0IsRUFBQyxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUMxRSwrQkFBcUIsQ0FBQyxXQUFXO2dCQUNqQywrQkFBcUIsQ0FBQyxpQkFBaUI7YUFDeEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUU7WUFDNUMsSUFBQSxzQ0FBb0IsRUFBQyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztnQkFDckYsK0JBQXFCLENBQUMsWUFBWTthQUNuQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxjQUFjLEVBQUU7WUFDakIsSUFBQSxzQ0FBb0IsRUFBQyxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsK0JBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNuSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHFCQUFxQixFQUFFO1FBQzlCLFNBQVMsUUFBUSxDQUFDLElBQW1CLEVBQUUsS0FBYTtZQUNsRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsU0FBUyxRQUFRLENBQUMsT0FBZTtZQUMvQixPQUFPO2dCQUNMLE9BQU8sRUFBRSxtQkFBUyxDQUFDLE9BQU87Z0JBQzFCLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDakIsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7UUFFRCxFQUFFLENBQUMsc0VBQXNFLEVBQUU7WUFDekUsNkVBQTZFO1lBQzdFLDJFQUEyRTtZQUMzRSxnREFBZ0Q7WUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDNUIsUUFBUSxDQUFDLHlCQUFhLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakUsUUFBUSxDQUFDLHlCQUFhLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxrQ0FBa0M7YUFDM0YsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQ0FBbUIsRUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN0RCxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDbEYsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLCtCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDNUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDNUYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHsgU29sVG9rZW5FeHRlbnNpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBFeHRlbnNpb25UeXBlLCB0eXBlIE1pbnQgfSBmcm9tICdAc29sYW5hL3NwbC10b2tlbic7XG5pbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuaW1wb3J0IHsgbWFwTW9kZWxlZEV4dGVuc2lvbnMsIHBhcnNlTWludEV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi9zcmMvbGliL3Rva2VuRXh0ZW5zaW9ucyc7XG5cbmRlc2NyaWJlKCdTb2wgVG9rZW4tMjAyMiBtaW50IGV4dGVuc2lvbiBwYXJzaW5nJywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgnbWFwTW9kZWxlZEV4dGVuc2lvbnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ21hcHMgc3BsLXRva2VuIGV4dGVuc2lvbiBuYW1lcyB0byBtb2RlbGVkIEJpdEdvIHR5cGVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgbWFwTW9kZWxlZEV4dGVuc2lvbnMoWydUcmFuc2ZlckZlZUNvbmZpZycsICdQZXJtYW5lbnREZWxlZ2F0ZSddKS5zaG91bGQuZXFsKFtcbiAgICAgICAgU29sVG9rZW5FeHRlbnNpb25UeXBlLlRyYW5zZmVyRmVlLFxuICAgICAgICBTb2xUb2tlbkV4dGVuc2lvblR5cGUuUGVybWFuZW50RGVsZWdhdGUsXG4gICAgICBdKTtcbiAgICB9KTtcblxuICAgIGl0KCdpZ25vcmVzIGV4dGVuc2lvbnMgQml0R28gZG9lcyBub3QgbW9kZWwnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBtYXBNb2RlbGVkRXh0ZW5zaW9ucyhbJ0ltbXV0YWJsZU93bmVyJywgJ01ldGFkYXRhUG9pbnRlcicsICdUcmFuc2Zlckhvb2snXSkuc2hvdWxkLmVxbChbXG4gICAgICAgIFNvbFRva2VuRXh0ZW5zaW9uVHlwZS5UcmFuc2Zlckhvb2ssXG4gICAgICBdKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZWR1cGxpY2F0ZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBtYXBNb2RlbGVkRXh0ZW5zaW9ucyhbJ1RyYW5zZmVyRmVlQ29uZmlnJywgJ1RyYW5zZmVyRmVlQ29uZmlnJ10pLnNob3VsZC5lcWwoW1NvbFRva2VuRXh0ZW5zaW9uVHlwZS5UcmFuc2ZlckZlZV0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VNaW50RXh0ZW5zaW9ucycsIGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiB0bHZFbnRyeSh0eXBlOiBFeHRlbnNpb25UeXBlLCB2YWx1ZTogQnVmZmVyKTogQnVmZmVyIHtcbiAgICAgIGNvbnN0IGhlYWQgPSBCdWZmZXIuYWxsb2MoNCk7XG4gICAgICBoZWFkLndyaXRlVUludDE2TEUodHlwZSwgMCk7XG4gICAgICBoZWFkLndyaXRlVUludDE2TEUodmFsdWUubGVuZ3RoLCAyKTtcbiAgICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtoZWFkLCB2YWx1ZV0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGZha2VNaW50KHRsdkRhdGE6IEJ1ZmZlcik6IE1pbnQge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRkcmVzczogUHVibGljS2V5LmRlZmF1bHQsXG4gICAgICAgIG1pbnRBdXRob3JpdHk6IG51bGwsXG4gICAgICAgIHN1cHBseTogQmlnSW50KDApLFxuICAgICAgICBkZWNpbWFsczogNixcbiAgICAgICAgaXNJbml0aWFsaXplZDogdHJ1ZSxcbiAgICAgICAgZnJlZXplQXV0aG9yaXR5OiBudWxsLFxuICAgICAgICB0bHZEYXRhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpdCgncGFyc2VzIGEgbWludCBkZWNsYXJpbmcgYm90aCBUcmFuc2ZlciBIb29rIGFuZCBDb25maWRlbnRpYWwgVHJhbnNmZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBMZWdhbCBvbi1jaGFpbjogdG9rZW4tMjAyMidzIGNoZWNrX2Zvcl9pbnZhbGlkX21pbnRfZXh0ZW5zaW9uX2NvbWJpbmF0aW9uc1xuICAgICAgLy8gZG9lcyBub3QgZm9yYmlkIHRoaXMgcGFpci4gUmVncmVzc2lvbiB0ZXN0IOKAlCBhbiBTREstbGV2ZWwgYXNzZXJ0IHVzZWQgdG9cbiAgICAgIC8vIHJlamVjdCBpdCBhbmQgYmxvY2sgb25ib2FyZGluZyBvZiByZWFsIG1pbnRzLlxuICAgICAgY29uc3QgdGx2RGF0YSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgICB0bHZFbnRyeShFeHRlbnNpb25UeXBlLkNvbmZpZGVudGlhbFRyYW5zZmVyTWludCwgQnVmZmVyLmFsbG9jKDApKSxcbiAgICAgICAgdGx2RW50cnkoRXh0ZW5zaW9uVHlwZS5UcmFuc2Zlckhvb2ssIEJ1ZmZlci5hbGxvYyg2NCkpLCAvLyBhdXRob3JpdHkgKDMyKSArIHByb2dyYW1JZCAoMzIpXG4gICAgICBdKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhcnNlTWludEV4dGVuc2lvbnMoZmFrZU1pbnQodGx2RGF0YSkpO1xuICAgICAgcmVzdWx0LmRldGVjdGVkVHlwZU5hbWVzLnNob3VsZC5lcWwoWydDb25maWRlbnRpYWxUcmFuc2Zlck1pbnQnLCAnVHJhbnNmZXJIb29rJ10pO1xuICAgICAgcmVzdWx0LmV4dGVuc2lvbnMuZGV0ZWN0ZWQuc2hvdWxkLmVxbChbU29sVG9rZW5FeHRlbnNpb25UeXBlLlRyYW5zZmVySG9va10pO1xuICAgICAgcmVzdWx0LmV4dGVuc2lvbnMudHJhbnNmZXJIb29rUHJvZ3JhbUlkPy5zaG91bGQuZXF1YWwoJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5FeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3Rva2VuRXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQixpREFBNEQ7QUFDNUQsaURBQXlGO0FBQ3pGLDZDQUE0QztBQUM1QyxtRUFBMEY7QUFFMUYsUUFBUSxDQUFDLHVDQUF1QyxFQUFFO0lBQ2hELFFBQVEsQ0FBQyxzQkFBc0IsRUFBRTtRQUMvQixFQUFFLENBQUMsdURBQXVELEVBQUU7WUFDMUQsSUFBQSxzQ0FBb0IsRUFBQyxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUMxRSwrQkFBcUIsQ0FBQyxXQUFXO2dCQUNqQywrQkFBcUIsQ0FBQyxpQkFBaUI7YUFDeEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMseUNBQXlDLEVBQUU7WUFDNUMsSUFBQSxzQ0FBb0IsRUFBQyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztnQkFDckYsK0JBQXFCLENBQUMsWUFBWTthQUNuQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxjQUFjLEVBQUU7WUFDakIsSUFBQSxzQ0FBb0IsRUFBQyxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsK0JBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNuSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHFCQUFxQixFQUFFO1FBQzlCLFNBQVMsUUFBUSxDQUFDLElBQW1CLEVBQUUsS0FBYTtZQUNsRCxNQUFNLElBQUksR0FB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QUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBTb2xUb2tlbkV4dGVuc2lvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEV4dGVuc2lvblR5cGUsIFNjYWxlZFVpQW1vdW50Q29uZmlnTGF5b3V0LCB0eXBlIE1pbnQgfSBmcm9tICdAc29sYW5hL3NwbC10b2tlbic7XG5pbXBvcnQgeyBQdWJsaWNLZXkgfSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuaW1wb3J0IHsgbWFwTW9kZWxlZEV4dGVuc2lvbnMsIHBhcnNlTWludEV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi9zcmMvbGliL3Rva2VuRXh0ZW5zaW9ucyc7XG5cbmRlc2NyaWJlKCdTb2wgVG9rZW4tMjAyMiBtaW50IGV4dGVuc2lvbiBwYXJzaW5nJywgZnVuY3Rpb24gKCkge1xuICBkZXNjcmliZSgnbWFwTW9kZWxlZEV4dGVuc2lvbnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ21hcHMgc3BsLXRva2VuIGV4dGVuc2lvbiBuYW1lcyB0byBtb2RlbGVkIEJpdEdvIHR5cGVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgbWFwTW9kZWxlZEV4dGVuc2lvbnMoWydUcmFuc2ZlckZlZUNvbmZpZycsICdQZXJtYW5lbnREZWxlZ2F0ZSddKS5zaG91bGQuZXFsKFtcbiAgICAgICAgU29sVG9rZW5FeHRlbnNpb25UeXBlLlRyYW5zZmVyRmVlLFxuICAgICAgICBTb2xUb2tlbkV4dGVuc2lvblR5cGUuUGVybWFuZW50RGVsZWdhdGUsXG4gICAgICBdKTtcbiAgICB9KTtcblxuICAgIGl0KCdpZ25vcmVzIGV4dGVuc2lvbnMgQml0R28gZG9lcyBub3QgbW9kZWwnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBtYXBNb2RlbGVkRXh0ZW5zaW9ucyhbJ0ltbXV0YWJsZU93bmVyJywgJ01ldGFkYXRhUG9pbnRlcicsICdUcmFuc2Zlckhvb2snXSkuc2hvdWxkLmVxbChbXG4gICAgICAgIFNvbFRva2VuRXh0ZW5zaW9uVHlwZS5UcmFuc2Zlckhvb2ssXG4gICAgICBdKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZWR1cGxpY2F0ZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBtYXBNb2RlbGVkRXh0ZW5zaW9ucyhbJ1RyYW5zZmVyRmVlQ29uZmlnJywgJ1RyYW5zZmVyRmVlQ29uZmlnJ10pLnNob3VsZC5lcWwoW1NvbFRva2VuRXh0ZW5zaW9uVHlwZS5UcmFuc2ZlckZlZV0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VNaW50RXh0ZW5zaW9ucycsIGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiB0bHZFbnRyeSh0eXBlOiBFeHRlbnNpb25UeXBlLCB2YWx1ZTogQnVmZmVyKTogQnVmZmVyIHtcbiAgICAgIGNvbnN0IGhlYWQgPSBCdWZmZXIuYWxsb2MoNCk7XG4gICAgICBoZWFkLndyaXRlVUludDE2TEUodHlwZSwgMCk7XG4gICAgICBoZWFkLndyaXRlVUludDE2TEUodmFsdWUubGVuZ3RoLCAyKTtcbiAgICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtoZWFkLCB2YWx1ZV0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGZha2VNaW50KHRsdkRhdGE6IEJ1ZmZlcik6IE1pbnQge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRkcmVzczogUHVibGljS2V5LmRlZmF1bHQsXG4gICAgICAgIG1pbnRBdXRob3JpdHk6IG51bGwsXG4gICAgICAgIHN1cHBseTogQmlnSW50KDApLFxuICAgICAgICBkZWNpbWFsczogNixcbiAgICAgICAgaXNJbml0aWFsaXplZDogdHJ1ZSxcbiAgICAgICAgZnJlZXplQXV0aG9yaXR5OiBudWxsLFxuICAgICAgICB0bHZEYXRhLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpdCgncGFyc2VzIGEgbWludCBkZWNsYXJpbmcgYm90aCBUcmFuc2ZlciBIb29rIGFuZCBDb25maWRlbnRpYWwgVHJhbnNmZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBMZWdhbCBvbi1jaGFpbjogdG9rZW4tMjAyMidzIGNoZWNrX2Zvcl9pbnZhbGlkX21pbnRfZXh0ZW5zaW9uX2NvbWJpbmF0aW9uc1xuICAgICAgLy8gZG9lcyBub3QgZm9yYmlkIHRoaXMgcGFpci4gUmVncmVzc2lvbiB0ZXN0IOKAlCBhbiBTREstbGV2ZWwgYXNzZXJ0IHVzZWQgdG9cbiAgICAgIC8vIHJlamVjdCBpdCBhbmQgYmxvY2sgb25ib2FyZGluZyBvZiByZWFsIG1pbnRzLlxuICAgICAgY29uc3QgdGx2RGF0YSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgICAgICB0bHZFbnRyeShFeHRlbnNpb25UeXBlLkNvbmZpZGVudGlhbFRyYW5zZmVyTWludCwgQnVmZmVyLmFsbG9jKDApKSxcbiAgICAgICAgdGx2RW50cnkoRXh0ZW5zaW9uVHlwZS5UcmFuc2Zlckhvb2ssIEJ1ZmZlci5hbGxvYyg2NCkpLCAvLyBhdXRob3JpdHkgKDMyKSArIHByb2dyYW1JZCAoMzIpXG4gICAgICBdKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhcnNlTWludEV4dGVuc2lvbnMoZmFrZU1pbnQodGx2RGF0YSkpO1xuICAgICAgcmVzdWx0LmRldGVjdGVkVHlwZU5hbWVzLnNob3VsZC5lcWwoWydDb25maWRlbnRpYWxUcmFuc2Zlck1pbnQnLCAnVHJhbnNmZXJIb29rJ10pO1xuICAgICAgcmVzdWx0LmV4dGVuc2lvbnMuZGV0ZWN0ZWQuc2hvdWxkLmVxbChbU29sVG9rZW5FeHRlbnNpb25UeXBlLlRyYW5zZmVySG9va10pO1xuICAgICAgcmVzdWx0LmV4dGVuc2lvbnMudHJhbnNmZXJIb29rUHJvZ3JhbUlkPy5zaG91bGQuZXF1YWwoJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG4gICAgfSk7XG5cbiAgICBpdCgncGFyc2VzIGEgc2NhbGVkLVVJIG1pbnQ6IGRldGVjdGVkIG5hbWUsIG1vZGVsZWQgdHlwZSwgYW5kIGluaXRpYWwgbXVsdGlwbGllcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIEVuY29kZWQgd2l0aCBzcGwtdG9rZW4ncyBvd24gU2NhbGVkVWlBbW91bnRDb25maWdMYXlvdXQgc28gdGhlIGZpeHR1cmUgdHJhY2tzIHRoZVxuICAgICAgLy8gb24tY2hhaW4gd2lyZSBmb3JtYXQgKGF1dGhvcml0eSBDT3B0aW9uICsgZjY0IG11bHRpcGxpZXIgKyB1NjQgdGltZXN0YW1wICsgZjY0IG5ld011bHRpcGxpZXIpLlxuICAgICAgY29uc3QgdmFsdWUgPSBCdWZmZXIuYWxsb2MoU2NhbGVkVWlBbW91bnRDb25maWdMYXlvdXQuc3Bhbik7XG4gICAgICBTY2FsZWRVaUFtb3VudENvbmZpZ0xheW91dC5lbmNvZGUoXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRob3JpdHk6IG5ldyBQdWJsaWNLZXkoJzRTZ0VKdFBTakxURDdwb3J2QVpZVkpYOXQ0bzRuRzY2YjNyTXhWcHZvaVhzJyksXG4gICAgICAgICAgbXVsdGlwbGllcjogMS41LFxuICAgICAgICAgIG5ld011bHRpcGxpZXJFZmZlY3RpdmVUaW1lc3RhbXA6IEJpZ0ludCgwKSxcbiAgICAgICAgICBuZXdNdWx0aXBsaWVyOiAxLjUsXG4gICAgICAgIH0sXG4gICAgICAgIHZhbHVlXG4gICAgICApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gcGFyc2VNaW50RXh0ZW5zaW9ucyhmYWtlTWludCh0bHZFbnRyeShFeHRlbnNpb25UeXBlLlNjYWxlZFVpQW1vdW50Q29uZmlnLCB2YWx1ZSkpKTtcbiAgICAgIHJlc3VsdC5kZXRlY3RlZFR5cGVOYW1lcy5zaG91bGQuZXFsKFsnU2NhbGVkVWlBbW91bnRDb25maWcnXSk7XG4gICAgICByZXN1bHQuZXh0ZW5zaW9ucy5kZXRlY3RlZC5zaG91bGQuZXFsKFtTb2xUb2tlbkV4dGVuc2lvblR5cGUuU2NhbGVkVWlBbW91bnRdKTtcbiAgICAgIHJlc3VsdC5leHRlbnNpb25zLnNjYWxlZFVpQW1vdW50Py5zaG91bGQuZXFsKHsgaW5pdGlhbE11bHRpcGxpZXI6ICcxLjUnIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19