@bitgo/sdk-coin-canton 1.7.0 → 1.9.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 (31) hide show
  1. package/dist/src/canton.d.ts +13 -1
  2. package/dist/src/canton.d.ts.map +1 -1
  3. package/dist/src/canton.js +52 -6
  4. package/dist/src/lib/iface.d.ts +7 -1
  5. package/dist/src/lib/iface.d.ts.map +1 -1
  6. package/dist/src/lib/iface.js +1 -1
  7. package/dist/src/lib/transaction/transaction.d.ts +2 -1
  8. package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
  9. package/dist/src/lib/transaction/transaction.js +39 -1
  10. package/dist/src/lib/utils.d.ts.map +1 -1
  11. package/dist/src/lib/utils.js +4 -2
  12. package/dist/src/lib/walletInitBuilder.d.ts +2 -1
  13. package/dist/src/lib/walletInitBuilder.d.ts.map +1 -1
  14. package/dist/src/lib/walletInitBuilder.js +4 -1
  15. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +2 -1
  16. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -1
  17. package/dist/src/lib/walletInitialization/walletInitTransaction.js +14 -1
  18. package/dist/test/helper.d.ts +3 -0
  19. package/dist/test/helper.d.ts.map +1 -0
  20. package/dist/test/helper.js +9 -0
  21. package/dist/test/integration/canton.integration.d.ts +2 -0
  22. package/dist/test/integration/canton.integration.d.ts.map +1 -0
  23. package/dist/test/integration/canton.integration.js +111 -0
  24. package/dist/test/resources.d.ts +13 -1
  25. package/dist/test/resources.d.ts.map +1 -1
  26. package/dist/test/resources.js +18 -6
  27. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +2 -1
  28. package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +2 -1
  29. package/dist/test/unit/utils.js +18 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +6 -6
@@ -22,6 +22,9 @@ class WalletInitBuilder extends sdk_core_1.BaseTransactionBuilder {
22
22
  initBuilder(tx) {
23
23
  this._transaction = tx;
24
24
  }
25
+ get transactionType() {
26
+ return sdk_core_1.TransactionType.WalletInitialization;
27
+ }
25
28
  buildImplementation() {
26
29
  throw new Error('Not implemented');
27
30
  }
@@ -229,4 +232,4 @@ class WalletInitBuilder extends sdk_core_1.BaseTransactionBuilder {
229
232
  }
230
233
  }
231
234
  exports.WalletInitBuilder = WalletInitBuilder;
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLDhDQVF5QjtBQUd6Qix1Q0FBb0M7QUFFcEMsb0RBQTRCO0FBQzVCLHdGQUFxRjtBQUNyRix5Q0FBZ0U7QUFFaEUsTUFBYSxpQkFBa0IsU0FBUSxpQ0FBc0I7SUFXM0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFWYixnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFJOUIscUNBQWdDLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLG9DQUErQixHQUFhLEVBQUUsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsOEJBQXlCLEdBQWEsRUFBRSxDQUFDO1FBSS9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQXlCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxjQUFtQixFQUFFLGFBQXVCO1FBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsV0FBMEI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFh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Q0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hHLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZGLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFqUEQsOENBaVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IElQdWJsaWNLZXksIFByZXBhcmVkUGFydHksIFdhbGxldEluaXRSZXF1ZXN0IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uL3dhbGxldEluaXRUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBQVUJMSUNfS0VZX0ZPUk1BVCwgUFVCTElDX0tFWV9TUEVDIH0gZnJvbSAnLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0QnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF90cmFuc2FjdGlvbjogV2FsbGV0SW5pdFRyYW5zYWN0aW9uO1xuICBwcml2YXRlIF9zaWduYXR1cmVzOiBTaWduYXR1cmVbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3B1YmxpY0tleTogSVB1YmxpY0tleTtcbiAgcHJpdmF0ZSBfcGFydHlIaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgX2xvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIF9jb25maXJtYXRpb25UaHJlc2hvbGQgPSAxO1xuICBwcml2YXRlIF9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFdhbGxldEluaXRUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogV2FsbGV0SW5pdFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8V2FsbGV0SW5pdFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IGFueSwgaXNGaXJzdFNpZ25lcj86IGJvb2xlYW4pOiBXYWxsZXRJbml0VHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFdhbGxldEluaXRUcmFuc2FjdGlvbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldCB0cmFuc2FjdGlvbigpOiBXYWxsZXRJbml0VHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogUHJlcGFyZWRQYXJ0eSkge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIGxldCBrZXlQYWlyOiBLZXlQYWlyO1xuICAgIHRyeSB7XG4gICAgICBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGtleScpO1xuICAgIH1cbiAgICBpZiAoIWtleVBhaXIuZ2V0S2V5cygpLnBydikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGlmICghcmF3VHJhbnNhY3Rpb24gfHwgIXRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IGxvY2FsSGFzaCA9IHV0aWxzLmNvbXB1dGVIYXNoRnJvbUNyZWF0ZVBhcnR5UmVzcG9uc2UocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmIChsb2NhbEhhc2ggIT09IHRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkubXVsdGlIYXNoKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogV2FsbGV0SW5pdFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbj8ucHJlcGFyZWRQYXJ0eSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBsb2NhbEhhc2ggPSB1dGlscy5jb21wdXRlSGFzaEZyb21DcmVhdGVQYXJ0eVJlc3BvbnNlKHRyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkudG9wb2xvZ3lUcmFuc2FjdGlvbnMpO1xuICAgIGlmIChsb2NhbEhhc2ggIT09IHRoaXMuX3RyYW5zYWN0aW9uLnByZXBhcmVkUGFydHkubXVsdGlIYXNoKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gbm90IGltcGxlbWVudGVkIGJlY2F1c2Ugd2FsbGV0IGluaXRpYWxpemF0aW9uIGRvZXNuJ3QgcmVxdWlyZSBhbnkgdmFsdWVcbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uIGlzIGVtcHR5IScpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNpZ25hdHVyZXMgPSBzaWduYXR1cmUudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHB1YmxpYyBrZXkgdXNlZCBmb3Igc2lnbmluZy5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBwdWJsaWMga2V5IG9mIHRoZSB3YWxsZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGtleSBpcyBub3QgYSB2YWxpZCBwdWJsaWMga2V5XG4gICAqL1xuICBwdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB1dGlscy5pc1ZhbGlkUHVibGljS2V5KGtleSk7XG4gICAgdGhpcy5fcHVibGljS2V5ID0ge1xuICAgICAgZm9ybWF0OiBQVUJMSUNfS0VZX0ZPUk1BVCxcbiAgICAgIGtleURhdGE6IGtleSxcbiAgICAgIGtleVNwZWM6IFBVQkxJQ19LRVlfU1BFQyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcnR5IGhpbnQgKGFsaWFzIG9yIG5hbWUpIHVzZWQgZHVyaW5nIHdhbGxldCBpbml0aWFsaXphdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGhpbnQgLSBBIDUtY2hhcmFjdGVyIG5vbi1lbXB0eSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwYXJ0eSBoaW50LlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgaGludCBpcyBlbXB0eSBvciBtb3JlIHRoYW4gNSBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICBwYXJ0eUhpbnQoaGludDogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgdHJpbW1lZEhpbnQgPSBoaW50LnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRIaW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3BhcnR5SGludCBjYW5ub3QgYmUgZW1wdHknKTtcbiAgICB9XG4gICAgaWYgKHRyaW1tZWRIaW50Lmxlbmd0aCA+IDUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFydHlIaW50IG11c3QgYmUgbGVzcyB0aGFuIDYgY2hhcmFjdGVycyBsb25nJyk7XG4gICAgfVxuICAgIHRoaXMuX3BhcnR5SGludCA9IHRyaW1tZWRIaW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgd2hldGhlciB0aGUgbG9jYWwgcGFydGljaXBhbnQgc2hvdWxkIGJlIGFkZGVkIGluIG9ic2VydmF0aW9uLW9ubHkgbW9kZS5cbiAgICpcbiAgICogQHBhcmFtIGZsYWcgLSBCb29sZWFuIGZsYWcgaW5kaWNhdGluZyBvYnNlcnZhdGlvbi1vbmx5IHN0YXR1cy5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5KGZsYWc6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLl9sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5ID0gZmxhZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY29uZmlybWluZyBwYXJ0aWNpcGFudCBVSUQgdG8gdGhlIGxpc3Qgb2Ygb3RoZXIgY29uZmlybWluZyBwYXJ0aWNpcGFudHMuXG4gICAqXG4gICAqIEBwYXJhbSB1aWQgLSBBIG5vbi1lbXB0eSBzdHJpbmcgVUlEIG9mIGFub3RoZXIgY29uZmlybWluZyBwYXJ0aWNpcGFudC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIFVJRCBpcyBlbXB0eS5cbiAgICovXG4gIG90aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkKHVpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgdHJpbW1lZFVpZCA9IHVpZC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkVWlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcykge1xuICAgICAgdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzID0gW107XG4gICAgfVxuICAgIHRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcy5wdXNoKHRyaW1tZWRVaWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbmZpcm1hdGlvbiB0aHJlc2hvbGQgZm9yIHRoZSB3YWxsZXQgaW5pdGlhbGl6YXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgLSBBIHBvc2l0aXZlIGludGVnZXIgaW5kaWNhdGluZyBob3cgbWFueSBjb25maXJtYXRpb25zIGFyZSByZXF1aXJlZC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHRocmVzaG9sZCBpcyBub3QgYSBwb3NpdGl2ZSBpbnRlZ2VyLlxuICAgKi9cbiAgY29uZmlybWF0aW9uVGhyZXNob2xkKHRocmVzaG9sZDogbnVtYmVyKTogdGhpcyB7XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHRocmVzaG9sZCkgfHwgdGhyZXNob2xkIDw9IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29uZmlybWF0aW9uVGhyZXNob2xkIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCA9IHRocmVzaG9sZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIG9ic2VydmluZyBwYXJ0aWNpcGFudCBVSUQgdG8gdGhlIGxpc3Qgb2Ygb2JzZXJ2ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gdWlkIC0gQSBub24tZW1wdHkgc3RyaW5nIFVJRCBvZiB0aGUgb2JzZXJ2aW5nIHBhcnRpY2lwYW50LlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgVUlEIGlzIGVtcHR5LlxuICAgKi9cbiAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWQodWlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCB0cmltbWVkVWlkID0gdWlkLnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRVaWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb2JzZXJ2aW5nUGFydGljaXBhbnRVaWQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzKSB7XG4gICAgICB0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzLnB1c2godHJpbW1lZFVpZCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuZCByZXR1cm5zIHRoZSBXYWxsZXRJbml0UmVxdWVzdCBvYmplY3QgZnJvbSB0aGUgYnVpbGRlcidzIGludGVybmFsIHN0YXRlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBwZXJmb3JtcyB2YWxpZGF0aW9uIGJlZm9yZSBjb25zdHJ1Y3RpbmcgdGhlIG9iamVjdC4gSWYgcmVxdWlyZWQgZmllbGRzIGFyZVxuICAgKiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHRocm93cyBhbiBlcnJvci5cbiAgICpcbiAgICogQHJldHVybnMge1dhbGxldEluaXRSZXF1ZXN0fSAtIEEgZnVsbHkgY29uc3RydWN0ZWQgYW5kIHZhbGlkYXRlZCByZXF1ZXN0IG9iamVjdCBmb3Igd2FsbGV0IGluaXRpYWxpemF0aW9uLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHRvUmVxdWVzdE9iamVjdCgpOiBXYWxsZXRJbml0UmVxdWVzdCB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgIHJldHVybiB7XG4gICAgICBwdWJsaWNLZXk6IHRoaXMuX3B1YmxpY0tleSxcbiAgICAgIHBhcnR5SGludDogdGhpcy5fcGFydHlIaW50LFxuICAgICAgbG9jYWxQYXJ0aWNpcGFudE9ic2VydmF0aW9uT25seTogdGhpcy5fbG9jYWxQYXJ0aWNpcGFudE9ic2VydmF0aW9uT25seSxcbiAgICAgIG90aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkczogdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzLFxuICAgICAgY29uZmlybWF0aW9uVGhyZXNob2xkOiB0aGlzLl9jb25maXJtYXRpb25UaHJlc2hvbGQsXG4gICAgICBvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHM6IHRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIGJ1aWxkZXIgYmVmb3JlIGJ1aWxkaW5nIHRoZSByZXF1ZXN0IG9iamVjdC5cbiAgICpcbiAgICogQ2hlY2tzIGZvcjpcbiAgICogLSBQcmVzZW5jZSBvZiBhIHN5bmNocm9uaXplciBJRC5cbiAgICogLSBgcGFydHlIaW50YCBtdXN0IG5vdCBiZSBlbXB0eSBhbmQgbXVzdCBiZSBhdCBtb3N0IDUgY2hhcmFjdGVycyBsb25nLlxuICAgKiAtIFB1YmxpYyBrZXkgbXVzdCBpbmNsdWRlIGBrZXlEYXRhYCwgYGZvcm1hdGAsIGFuZCBga2V5U3BlY2AuXG4gICAqIC0gQ29uZmlybWF0aW9uIHRocmVzaG9sZCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci5cbiAgICogLSBDb25maXJtaW5nIGFuZCBvYnNlcnZpbmcgcGFydGljaXBhbnQgVUlEIGxpc3RzIG11c3QgYmUgYXJyYXlzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wYXJ0eUhpbnQgfHwgdGhpcy5fcGFydHlIaW50Lmxlbmd0aCA+IDUpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwYXJ0eUhpbnQnKTtcbiAgICBpZiAoIXRoaXMuX3B1YmxpY0tleSB8fCAhdGhpcy5fcHVibGljS2V5LmtleURhdGEgfHwgIXRoaXMuX3B1YmxpY0tleS5mb3JtYXQgfHwgIXRoaXMuX3B1YmxpY0tleS5rZXlTcGVjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHVibGljS2V5Jyk7XG4gICAgfVxuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcih0aGlzLl9jb25maXJtYXRpb25UaHJlc2hvbGQpIHx8IHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlybWF0aW9uVGhyZXNob2xkJyk7XG4gICAgfVxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcyBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gICAgfVxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29ic2VydmluZ1BhcnRpY2lwYW50VWlkcyBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gICAgfVxuICB9XG59XG4iXX0=
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLDhDQVN5QjtBQUd6Qix1Q0FBb0M7QUFFcEMsb0RBQTRCO0FBQzVCLHdGQUFxRjtBQUNyRix5Q0FBZ0U7QUFFaEUsTUFBYSxpQkFBa0IsU0FBUSxpQ0FBc0I7SUFXM0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFWYixnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFJOUIscUNBQWdDLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLG9DQUErQixHQUFhLEVBQUUsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsOEJBQXlCLEdBQWEsRUFBRSxDQUFDO1FBSS9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQXlCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLG9CQUFvQixDQUFDO0lBQzlDLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxjQUFtQixFQUFFLGFBQXVCO1FBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixD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QW1CLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hHLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZGLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFyUEQsOENBcVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgSVB1YmxpY0tleSwgUHJlcGFyZWRQYXJ0eSwgV2FsbGV0SW5pdFJlcXVlc3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFdhbGxldEluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb24vd2FsbGV0SW5pdFRyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBVQkxJQ19LRVlfRk9STUFULCBQVUJMSUNfS0VZX1NQRUMgfSBmcm9tICcuL2NvbnN0YW50JztcblxuZXhwb3J0IGNsYXNzIFdhbGxldEluaXRCdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBXYWxsZXRJbml0VHJhbnNhY3Rpb247XG4gIHByaXZhdGUgX3NpZ25hdHVyZXM6IFNpZ25hdHVyZVtdID0gW107XG5cbiAgcHJpdmF0ZSBfcHVibGljS2V5OiBJUHVibGljS2V5O1xuICBwcml2YXRlIF9wYXJ0eUhpbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfbG9jYWxQYXJ0aWNpcGFudE9ic2VydmF0aW9uT25seSA9IGZhbHNlO1xuICBwcml2YXRlIF9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX2NvbmZpcm1hdGlvblRocmVzaG9sZCA9IDE7XG4gIHByaXZhdGUgX29ic2VydmluZ1BhcnRpY2lwYW50VWlkczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgV2FsbGV0SW5pdFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBXYWxsZXRJbml0VHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxXYWxsZXRJbml0VHJhbnNhY3Rpb24+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogYW55LCBpc0ZpcnN0U2lnbmVyPzogYm9vbGVhbik6IFdhbGxldEluaXRUcmFuc2FjdGlvbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogV2FsbGV0SW5pdFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uKCk6IFdhbGxldEluaXRUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBQcmVwYXJlZFBhcnR5KSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ucHJlcGFyZWRQYXJ0eSA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEJhc2VBZGRyZXNzLCBhZGRyZXNzRm9ybWF0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGFkZHJlc3MgJyArIGFkZHJlc3MuYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgbGV0IGtleVBhaXI6IEtleVBhaXI7XG4gICAgdHJ5IHtcbiAgICAgIGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuICAgIGlmICgha2V5UGFpci5nZXRLZXlzKCkucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGtleScpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKCFyYXdUcmFuc2FjdGlvbiB8fCAhdGhpcy5fdHJhbnNhY3Rpb24ucHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxIYXNoID0gdXRpbHMuY29tcHV0ZUhhc2hGcm9tQ3JlYXRlUGFydHlSZXNwb25zZShyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKGxvY2FsSGFzaCAhPT0gdGhpcy5fdHJhbnNhY3Rpb24ucHJlcGFyZWRQYXJ0eS5tdWx0aUhhc2gpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uLCBoYXNoIG5vdCBtYXRjaGluZycpO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBXYWxsZXRJbml0VHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uPy5wcmVwYXJlZFBhcnR5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxvY2FsSGFzaCA9IHV0aWxzLmNvbXB1dGVIYXNoRnJvbUNyZWF0ZVBhcnR5UmVzcG9uc2UodHJhbnNhY3Rpb24ucHJlcGFyZWRQYXJ0eS50b3BvbG9neVRyYW5zYWN0aW9ucyk7XG4gICAgaWYgKGxvY2FsSGFzaCAhPT0gdGhpcy5fdHJhbnNhY3Rpb24ucHJlcGFyZWRQYXJ0eS5tdWx0aUhhc2gpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cblxuICAvLyBub3QgaW1wbGVtZW50ZWQgYmVjYXVzZSB3YWxsZXQgaW5pdGlhbGl6YXRpb24gZG9lc24ndCByZXF1aXJlIGFueSB2YWx1ZVxuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb24gaXMgZW1wdHkhJyk7XG4gICAgfVxuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH0pO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmF0dXJlcyA9IHNpZ25hdHVyZS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcHVibGljIGtleSB1c2VkIGZvciBzaWduaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIHB1YmxpYyBrZXkgb2YgdGhlIHdhbGxldC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYga2V5IGlzIG5vdCBhIHZhbGlkIHB1YmxpYyBrZXlcbiAgICovXG4gIHB1YmxpY0tleShrZXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHV0aWxzLmlzVmFsaWRQdWJsaWNLZXkoa2V5KTtcbiAgICB0aGlzLl9wdWJsaWNLZXkgPSB7XG4gICAgICBmb3JtYXQ6IFBVQkxJQ19LRVlfRk9STUFULFxuICAgICAga2V5RGF0YToga2V5LFxuICAgICAga2V5U3BlYzogUFVCTElDX0tFWV9TUEVDLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFydHkgaGludCAoYWxpYXMgb3IgbmFtZSkgdXNlZCBkdXJpbmcgd2FsbGV0IGluaXRpYWxpemF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gaGludCAtIEEgNS1jaGFyYWN0ZXIgbm9uLWVtcHR5IHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhcnR5IGhpbnQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBoaW50IGlzIGVtcHR5IG9yIG1vcmUgdGhhbiA1IGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIHBhcnR5SGludChoaW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCB0cmltbWVkSGludCA9IGhpbnQudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZEhpbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFydHlIaW50IGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgICBpZiAodHJpbW1lZEhpbnQubGVuZ3RoID4gNSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwYXJ0eUhpbnQgbXVzdCBiZSBsZXNzIHRoYW4gNiBjaGFyYWN0ZXJzIGxvbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fcGFydHlIaW50ID0gdHJpbW1lZEhpbnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoZSBsb2NhbCBwYXJ0aWNpcGFudCBzaG91bGQgYmUgYWRkZWQgaW4gb2JzZXJ2YXRpb24tb25seSBtb2RlLlxuICAgKlxuICAgKiBAcGFyYW0gZmxhZyAtIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIG9ic2VydmF0aW9uLW9ubHkgc3RhdHVzLlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICovXG4gIGxvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHkoZmxhZzogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2xvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHkgPSBmbGFnO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb25maXJtaW5nIHBhcnRpY2lwYW50IFVJRCB0byB0aGUgbGlzdCBvZiBvdGhlciBjb25maXJtaW5nIHBhcnRpY2lwYW50cy5cbiAgICpcbiAgICogQHBhcmFtIHVpZCAtIEEgbm9uLWVtcHR5IHN0cmluZyBVSUQgb2YgYW5vdGhlciBjb25maXJtaW5nIHBhcnRpY2lwYW50LlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgVUlEIGlzIGVtcHR5LlxuICAgKi9cbiAgb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWQodWlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCB0cmltbWVkVWlkID0gdWlkLnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRVaWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzKSB7XG4gICAgICB0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzLnB1c2godHJpbW1lZFVpZCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29uZmlybWF0aW9uIHRocmVzaG9sZCBmb3IgdGhlIHdhbGxldCBpbml0aWFsaXphdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHRocmVzaG9sZCAtIEEgcG9zaXRpdmUgaW50ZWdlciBpbmRpY2F0aW5nIGhvdyBtYW55IGNvbmZpcm1hdGlvbnMgYXJlIHJlcXVpcmVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgdGhyZXNob2xkIGlzIG5vdCBhIHBvc2l0aXZlIGludGVnZXIuXG4gICAqL1xuICBjb25maXJtYXRpb25UaHJlc2hvbGQodGhyZXNob2xkOiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodGhyZXNob2xkKSB8fCB0aHJlc2hvbGQgPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb25maXJtYXRpb25UaHJlc2hvbGQgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXInKTtcbiAgICB9XG4gICAgdGhpcy5fY29uZmlybWF0aW9uVGhyZXNob2xkID0gdGhyZXNob2xkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gb2JzZXJ2aW5nIHBhcnRpY2lwYW50IFVJRCB0byB0aGUgbGlzdCBvZiBvYnNlcnZlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB1aWQgLSBBIG5vbi1lbXB0eSBzdHJpbmcgVUlEIG9mIHRoZSBvYnNlcnZpbmcgcGFydGljaXBhbnQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBVSUQgaXMgZW1wdHkuXG4gICAqL1xuICBvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZCh1aWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IHRyaW1tZWRVaWQgPSB1aWQudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZFVpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZCBjYW5ub3QgYmUgZW1wdHknKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMpIHtcbiAgICAgIHRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMucHVzaCh0cmltbWVkVWlkKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHJldHVybnMgdGhlIFdhbGxldEluaXRSZXF1ZXN0IG9iamVjdCBmcm9tIHRoZSBidWlsZGVyJ3MgaW50ZXJuYWwgc3RhdGUuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIHBlcmZvcm1zIHZhbGlkYXRpb24gYmVmb3JlIGNvbnN0cnVjdGluZyB0aGUgb2JqZWN0LiBJZiByZXF1aXJlZCBmaWVsZHMgYXJlXG4gICAqIG1pc3Npbmcgb3IgaW52YWxpZCwgaXQgdGhyb3dzIGFuIGVycm9yLlxuICAgKlxuICAgKiBAcmV0dXJucyB7V2FsbGV0SW5pdFJlcXVlc3R9IC0gQSBmdWxseSBjb25zdHJ1Y3RlZCBhbmQgdmFsaWRhdGVkIHJlcXVlc3Qgb2JqZWN0IGZvciB3YWxsZXQgaW5pdGlhbGl6YXRpb24uXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBmYWlscyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgdG9SZXF1ZXN0T2JqZWN0KCk6IFdhbGxldEluaXRSZXF1ZXN0IHtcbiAgICB0aGlzLnZhbGlkYXRlKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YmxpY0tleTogdGhpcy5fcHVibGljS2V5LFxuICAgICAgcGFydHlIaW50OiB0aGlzLl9wYXJ0eUhpbnQsXG4gICAgICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5OiB0aGlzLl9sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5LFxuICAgICAgb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzOiB0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMsXG4gICAgICBjb25maXJtYXRpb25UaHJlc2hvbGQ6IHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCxcbiAgICAgIG9ic2VydmluZ1BhcnRpY2lwYW50VWlkczogdGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgYnVpbGRlciBiZWZvcmUgYnVpbGRpbmcgdGhlIHJlcXVlc3Qgb2JqZWN0LlxuICAgKlxuICAgKiBDaGVja3MgZm9yOlxuICAgKiAtIFByZXNlbmNlIG9mIGEgc3luY2hyb25pemVyIElELlxuICAgKiAtIGBwYXJ0eUhpbnRgIG11c3Qgbm90IGJlIGVtcHR5IGFuZCBtdXN0IGJlIGF0IG1vc3QgNSBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqIC0gUHVibGljIGtleSBtdXN0IGluY2x1ZGUgYGtleURhdGFgLCBgZm9ybWF0YCwgYW5kIGBrZXlTcGVjYC5cbiAgICogLSBDb25maXJtYXRpb24gdGhyZXNob2xkIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLlxuICAgKiAtIENvbmZpcm1pbmcgYW5kIG9ic2VydmluZyBwYXJ0aWNpcGFudCBVSUQgbGlzdHMgbXVzdCBiZSBhcnJheXMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBpbnZhbGlkLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BhcnR5SGludCB8fCB0aGlzLl9wYXJ0eUhpbnQubGVuZ3RoID4gNSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBhcnR5SGludCcpO1xuICAgIGlmICghdGhpcy5fcHVibGljS2V5IHx8ICF0aGlzLl9wdWJsaWNLZXkua2V5RGF0YSB8fCAhdGhpcy5fcHVibGljS2V5LmZvcm1hdCB8fCAhdGhpcy5fcHVibGljS2V5LmtleVNwZWMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwdWJsaWNLZXknKTtcbiAgICB9XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuX2NvbmZpcm1hdGlvblRocmVzaG9sZCkgfHwgdGhpcy5fY29uZmlybWF0aW9uVGhyZXNob2xkIDw9IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb25maXJtYXRpb25UaHJlc2hvbGQnKTtcbiAgICB9XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { BaseKey, BaseTransaction } from '@bitgo/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
- import { PreparedParty, WalletInitTxData } from '../iface';
3
+ import { PreparedParty, TransactionExplanation, WalletInitTxData } from '../iface';
4
4
  export declare class WalletInitTransaction extends BaseTransaction {
5
5
  private _preparedParty;
6
6
  constructor(coinConfig: Readonly<CoinConfig>);
@@ -12,5 +12,6 @@ export declare class WalletInitTransaction extends BaseTransaction {
12
12
  toJson(): WalletInitTxData;
13
13
  get signablePayload(): Buffer;
14
14
  fromRawTransaction(rawTx: string): void;
15
+ explainTransaction(): TransactionExplanation;
15
16
  }
16
17
  //# sourceMappingURL=walletInitTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletInitTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/walletInitialization/walletInitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAA4C,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAGL,aAAa,EAEb,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAGlB,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,OAAO,CAAC,cAAc,CAAgB;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,aAAa,CAAC,WAAW,EAAE,aAAa,EAI3C;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,iBAAiB,IAAI,MAAM;IA6B3B,MAAM,IAAI,gBAAgB;IAY1B,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAexC"}
1
+ {"version":3,"file":"walletInitTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/walletInitialization/walletInitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAA4C,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAGL,aAAa,EACb,sBAAsB,EAEtB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAGlB,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,OAAO,CAAC,cAAc,CAAgB;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,aAAa,CAAC,WAAW,EAAE,aAAa,EAI3C;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,iBAAiB,IAAI,MAAM;IA6B3B,MAAM,IAAI,gBAAgB;IAY1B,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBvC,kBAAkB,IAAI,sBAAsB;CAa7C"}
@@ -82,6 +82,19 @@ class WalletInitTransaction extends sdk_core_1.BaseTransaction {
82
82
  throw new sdk_core_1.InvalidTransactionError('Unable to parse raw transaction data');
83
83
  }
84
84
  }
85
+ explainTransaction() {
86
+ const displayOrder = ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'type'];
87
+ return {
88
+ id: this.id,
89
+ displayOrder,
90
+ outputs: [],
91
+ outputAmount: '0',
92
+ changeOutputs: [],
93
+ changeAmount: '0',
94
+ fee: { fee: '0' },
95
+ type: this.type,
96
+ };
97
+ }
85
98
  }
86
99
  exports.WalletInitTransaction = WalletInitTransaction;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdFRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQXFHO0FBU3JHLDBDQUF5RTtBQUV6RSxNQUFhLHFCQUFzQixTQUFRLDBCQUFlO0lBR3hELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLFdBQTBCO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUF5QixFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMvQixNQUFNLGtCQUFrQixHQUF1QjtvQkFDN0MsTUFBTSxFQUFFLDJCQUFnQjtvQkFDeEIsU0FBUyxFQUFFLFNBQVM7b0JBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQjtvQkFDbEQsb0JBQW9CLEVBQUUsbUNBQXdCO2lCQUMvQyxDQUFDO2dCQUNGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sdUJBQXVCLEdBQTRCO1lBQ3ZELGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNsQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMzRSxNQUFNLHFCQUFxQixHQUEwQjtvQkFDbkQsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCLENBQUM7Z0JBQ0YsT0FBTyxxQkFBcUIsQ0FBQztZQUMvQixDQUFDLENBQUM7WUFDRixtQkFBbUIsRUFBRSxtQkFBbUI7U0FDekMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBcUI7WUFDL0IsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUF3QjtZQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDbkMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksa0NBQXVCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxHQUE0QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ25HLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7WUFDbEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxrQkFBc0MsRUFBRSxFQUFFO29CQUN6RSxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksa0NBQXVCLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBeEZELHNEQXdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VLZXksIEJhc2VUcmFuc2FjdGlvbiwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgTXVsdGlIYXNoU2lnbmF0dXJlLFxuICBPbmJvYXJkaW5nVHJhbnNhY3Rpb24sXG4gIFByZXBhcmVkUGFydHksXG4gIFdhbGxldEluaXRCcm9hZGNhc3REYXRhLFxuICBXYWxsZXRJbml0VHhEYXRhLFxufSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgeyBTSUdOQVRVUkVfQUxHT1JJVEhNX1NQRUMsIFNJR05BVFVSRV9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9wcmVwYXJlZFBhcnR5OiBQcmVwYXJlZFBhcnR5O1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgcHJlcGFyZWRQYXJ0eSgpOiBQcmVwYXJlZFBhcnR5IHtcbiAgICByZXR1cm4gdGhpcy5fcHJlcGFyZWRQYXJ0eTtcbiAgfVxuXG4gIHNldCBwcmVwYXJlZFBhcnR5KHRyYW5zYWN0aW9uOiBQcmVwYXJlZFBhcnR5KSB7XG4gICAgdGhpcy5fcHJlcGFyZWRQYXJ0eSA9IHRyYW5zYWN0aW9uO1xuICAgIHRoaXMuX2lkID0gdHJhbnNhY3Rpb24ubXVsdGlIYXNoO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNldCBzaWduYXR1cmVzKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIGNvbnN0IG11bHRpSGFzaFNpZ25hdHVyZXM6IE11bHRpSGFzaFNpZ25hdHVyZVtdID0gW107XG4gICAgaWYgKHRoaXMuc2lnbmF0dXJlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlLm1hcCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IG11bHRpSGFzaFNpZ25hdHVyZTogTXVsdGlIYXNoU2lnbmF0dXJlID0ge1xuICAgICAgICAgIGZvcm1hdDogU0lHTkFUVVJFX0ZPUk1BVCxcbiAgICAgICAgICBzaWduYXR1cmU6IHNpZ25hdHVyZSxcbiAgICAgICAgICBzaWduZWRCeTogdGhpcy5fcHJlcGFyZWRQYXJ0eS5wdWJsaWNLZXlGaW5nZXJwcmludCxcbiAgICAgICAgICBzaWduaW5nQWxnb3JpdGhtU3BlYzogU0lHTkFUVVJFX0FMR09SSVRITV9TUEVDLFxuICAgICAgICB9O1xuICAgICAgICBtdWx0aUhhc2hTaWduYXR1cmVzLnB1c2gobXVsdGlIYXNoU2lnbmF0dXJlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCB3YWxsZXRJbml0QnJvYWRjYXN0RGF0YTogV2FsbGV0SW5pdEJyb2FkY2FzdERhdGEgPSB7XG4gICAgICBwcmVwYXJlZFBhcnR5OiB0aGlzLl9wcmVwYXJlZFBhcnR5LFxuICAgICAgb25ib2FyZGluZ1RyYW5zYWN0aW9uczogdGhpcy5fcHJlcGFyZWRQYXJ0eS50b3BvbG9neVRyYW5zYWN0aW9ucy5tYXAoKHR4bikgPT4ge1xuICAgICAgICBjb25zdCBvbmJvYXJkaW5nVHJhbnNhY3Rpb246IE9uYm9hcmRpbmdUcmFuc2FjdGlvbiA9IHtcbiAgICAgICAgICB0cmFuc2FjdGlvbjogdHhuLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gb25ib2FyZGluZ1RyYW5zYWN0aW9uO1xuICAgICAgfSksXG4gICAgICBtdWx0aUhhc2hTaWduYXR1cmVzOiBtdWx0aUhhc2hTaWduYXR1cmVzLFxuICAgIH07XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHdhbGxldEluaXRCcm9hZGNhc3REYXRhKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgdG9Kc29uKCk6IFdhbGxldEluaXRUeERhdGEge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogV2FsbGV0SW5pdFR4RGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdHlwZTogdGhpcy5fdHlwZSBhcyBUcmFuc2FjdGlvblR5cGUsXG4gICAgICBwcmVwYXJlZFBhcnR5OiB0aGlzLl9wcmVwYXJlZFBhcnR5LFxuICAgIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVkUGFydHkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5fcHJlcGFyZWRQYXJ0eS5tdWx0aUhhc2gsICdiYXNlNjQnKTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUeDogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWQ6IFdhbGxldEluaXRCcm9hZGNhc3REYXRhID0gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShyYXdUeCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4JykpO1xuICAgICAgdGhpcy5fcHJlcGFyZWRQYXJ0eSA9IGRlY29kZWQucHJlcGFyZWRQYXJ0eTtcbiAgICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gICAgICB0aGlzLl9pZCA9IGRlY29kZWQucHJlcGFyZWRQYXJ0eS5tdWx0aUhhc2g7XG4gICAgICBpZiAoZGVjb2RlZC5tdWx0aUhhc2hTaWduYXR1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZGVjb2RlZC5tdWx0aUhhc2hTaWduYXR1cmVzLm1hcCgobXVsdGlIYXNoU2lnbmF0dXJlOiBNdWx0aUhhc2hTaWduYXR1cmUpID0+IHtcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZXMgPSBtdWx0aUhhc2hTaWduYXR1cmUuc2lnbmF0dXJlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1VuYWJsZSB0byBwYXJzZSByYXcgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgfVxufVxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdFRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQXFHO0FBVXJHLDBDQUF5RTtBQUV6RSxNQUFhLHFCQUFzQixTQUFRLDBCQUFlO0lBR3hELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLFdBQTBCO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUF5QixFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dC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LEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxZQUFZO1lBQ1osT0FBTyxFQUFFLEVBQUU7WUFDWCxZQUFZLEVBQUUsR0FBRztZQUNqQixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsR0FBRztZQUNqQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdEdELHNEQXNHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VLZXksIEJhc2VUcmFuc2FjdGlvbiwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgTXVsdGlIYXNoU2lnbmF0dXJlLFxuICBPbmJvYXJkaW5nVHJhbnNhY3Rpb24sXG4gIFByZXBhcmVkUGFydHksXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFdhbGxldEluaXRCcm9hZGNhc3REYXRhLFxuICBXYWxsZXRJbml0VHhEYXRhLFxufSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgeyBTSUdOQVRVUkVfQUxHT1JJVEhNX1NQRUMsIFNJR05BVFVSRV9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudCc7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0VHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9wcmVwYXJlZFBhcnR5OiBQcmVwYXJlZFBhcnR5O1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgcHJlcGFyZWRQYXJ0eSgpOiBQcmVwYXJlZFBhcnR5IHtcbiAgICByZXR1cm4gdGhpcy5fcHJlcGFyZWRQYXJ0eTtcbiAgfVxuXG4gIHNldCBwcmVwYXJlZFBhcnR5KHRyYW5zYWN0aW9uOiBQcmVwYXJlZFBhcnR5KSB7XG4gICAgdGhpcy5fcHJlcGFyZWRQYXJ0eSA9IHRyYW5zYWN0aW9uO1xuICAgIHRoaXMuX2lkID0gdHJhbnNhY3Rpb24ubXVsdGlIYXNoO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNldCBzaWduYXR1cmVzKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIGNvbnN0IG11bHRpSGFzaFNpZ25hdHVyZXM6IE11bHRpSGFzaFNpZ25hdHVyZVtdID0gW107XG4gICAgaWYgKHRoaXMuc2lnbmF0dXJlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlLm1hcCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IG11bHRpSGFzaFNpZ25hdHVyZTogTXVsdGlIYXNoU2lnbmF0dXJlID0ge1xuICAgICAgICAgIGZvcm1hdDogU0lHTkFUVVJFX0ZPUk1BVCxcbiAgICAgICAgICBzaWduYXR1cmU6IHNpZ25hdHVyZSxcbiAgICAgICAgICBzaWduZWRCeTogdGhpcy5fcHJlcGFyZWRQYXJ0eS5wdWJsaWNLZXlGaW5nZXJwcmludCxcbiAgICAgICAgICBzaWduaW5nQWxnb3JpdGhtU3BlYzogU0lHTkFUVVJFX0FMR09SSVRITV9TUEVDLFxuICAgICAgICB9O1xuICAgICAgICBtdWx0aUhhc2hTaWduYXR1cmVzLnB1c2gobXVsdGlIYXNoU2lnbmF0dXJlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCB3YWxsZXRJbml0QnJvYWRjYXN0RGF0YTogV2FsbGV0SW5pdEJyb2FkY2FzdERhdGEgPSB7XG4gICAgICBwcmVwYXJlZFBhcnR5OiB0aGlzLl9wcmVwYXJlZFBhcnR5LFxuICAgICAgb25ib2FyZGluZ1RyYW5zYWN0aW9uczogdGhpcy5fcHJlcGFyZWRQYXJ0eS50b3BvbG9neVRyYW5zYWN0aW9ucy5tYXAoKHR4bikgPT4ge1xuICAgICAgICBjb25zdCBvbmJvYXJkaW5nVHJhbnNhY3Rpb246IE9uYm9hcmRpbmdUcmFuc2FjdGlvbiA9IHtcbiAgICAgICAgICB0cmFuc2FjdGlvbjogdHhuLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gb25ib2FyZGluZ1RyYW5zYWN0aW9uO1xuICAgICAgfSksXG4gICAgICBtdWx0aUhhc2hTaWduYXR1cmVzOiBtdWx0aUhhc2hTaWduYXR1cmVzLFxuICAgIH07XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHdhbGxldEluaXRCcm9hZGNhc3REYXRhKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgdG9Kc29uKCk6IFdhbGxldEluaXRUeERhdGEge1xuICAgIGlmICghdGhpcy5fcHJlcGFyZWRQYXJ0eSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogV2FsbGV0SW5pdFR4RGF0YSA9IHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdHlwZTogdGhpcy5fdHlwZSBhcyBUcmFuc2FjdGlvblR5cGUsXG4gICAgICBwcmVwYXJlZFBhcnR5OiB0aGlzLl9wcmVwYXJlZFBhcnR5LFxuICAgIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVkUGFydHkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5fcHJlcGFyZWRQYXJ0eS5tdWx0aUhhc2gsICdiYXNlNjQnKTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUeDogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWQ6IFdhbGxldEluaXRCcm9hZGNhc3REYXRhID0gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShyYXdUeCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4JykpO1xuICAgICAgdGhpcy5fcHJlcGFyZWRQYXJ0eSA9IGRlY29kZWQucHJlcGFyZWRQYXJ0eTtcbiAgICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gICAgICB0aGlzLl9pZCA9IGRlY29kZWQucHJlcGFyZWRQYXJ0eS5tdWx0aUhhc2g7XG4gICAgICBpZiAoZGVjb2RlZC5tdWx0aUhhc2hTaWduYXR1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZGVjb2RlZC5tdWx0aUhhc2hTaWduYXR1cmVzLm1hcCgobXVsdGlIYXNoU2lnbmF0dXJlOiBNdWx0aUhhc2hTaWduYXR1cmUpID0+IHtcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZXMgPSBtdWx0aUhhc2hTaWduYXR1cmUuc2lnbmF0dXJlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1VuYWJsZSB0byBwYXJzZSByYXcgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgfVxuXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCBkaXNwbGF5T3JkZXIgPSBbJ2lkJywgJ291dHB1dHMnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZU91dHB1dHMnLCAnY2hhbmdlQW1vdW50JywgJ2ZlZScsICd0eXBlJ107XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgb3V0cHV0czogW10sXG4gICAgICBvdXRwdXRBbW91bnQ6ICcwJyxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { TransactionBuilderFactory } from '../src';
2
+ export declare function getCantonBuilderFactory(coinName: string): TransactionBuilderFactory;
3
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../test/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,CAEnF"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCantonBuilderFactory = getCantonBuilderFactory;
4
+ const statics_1 = require("@bitgo/statics");
5
+ const src_1 = require("../src");
6
+ function getCantonBuilderFactory(coinName) {
7
+ return new src_1.TransactionBuilderFactory(statics_1.coins.get(coinName));
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSwwREFFQztBQUxELDRDQUF1QztBQUN2QyxnQ0FBbUQ7QUFFbkQsU0FBZ0IsdUJBQXVCLENBQUMsUUFBZ0I7SUFDdEQsT0FBTyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vc3JjJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENhbnRvbkJ1aWxkZXJGYWN0b3J5KGNvaW5OYW1lOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldChjb2luTmFtZSkpO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=canton.integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canton.integration.d.ts","sourceRoot":"","sources":["../../../test/integration/canton.integration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const sdk_api_1 = require("@bitgo/sdk-api");
8
+ const sdk_core_1 = require("@bitgo/sdk-core");
9
+ const sdk_test_1 = require("@bitgo/sdk-test");
10
+ const helper_1 = require("../helper");
11
+ const resources_1 = require("../resources");
12
+ const src_1 = require("../../src");
13
+ describe('Canton integration tests', function () {
14
+ let bitgo;
15
+ let basecoin;
16
+ before(() => {
17
+ bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'mock' });
18
+ bitgo.safeRegister('tcanton', src_1.Tcanton.createInstance);
19
+ basecoin = bitgo.coin('tcanton');
20
+ });
21
+ describe('Explain raw transaction', function () {
22
+ const factory = (0, helper_1.getCantonBuilderFactory)('tcanton');
23
+ it('should explain raw wallet init transaction', function () {
24
+ const builder = factory.from(resources_1.WalletInitRawTransaction);
25
+ const txn = builder.transaction;
26
+ const explainTxData = txn.explainTransaction();
27
+ (0, assert_1.default)(explainTxData);
28
+ assert_1.default.equal(explainTxData.id, resources_1.GenerateTopologyResponse.multiHash);
29
+ assert_1.default.equal(explainTxData.type, sdk_core_1.TransactionType.WalletInitialization);
30
+ });
31
+ it('should explain raw transfer acceptance transaction', function () {
32
+ const builder = factory.from(resources_1.TransferAcceptRawTransaction);
33
+ const txn = builder.transaction;
34
+ const explainTxData = txn.explainTransaction();
35
+ (0, assert_1.default)(explainTxData);
36
+ (0, assert_1.default)(explainTxData.id);
37
+ assert_1.default.equal(explainTxData.type, sdk_core_1.TransactionType.TransferAccept);
38
+ assert_1.default.equal(explainTxData.inputAmount, '5.0000000000');
39
+ });
40
+ it('should explain raw transfer rejection transaction', function () {
41
+ const builder = factory.from(resources_1.TransferRejectRawTransaction);
42
+ const txn = builder.transaction;
43
+ const explainTxData = txn.explainTransaction();
44
+ (0, assert_1.default)(explainTxData);
45
+ assert_1.default.equal(explainTxData.type, sdk_core_1.TransactionType.TransferReject);
46
+ assert_1.default.equal(explainTxData.inputAmount, '5.0000000000');
47
+ });
48
+ });
49
+ describe('isWalletAddress', function () {
50
+ let keychains;
51
+ let commonKeychain;
52
+ before(function () {
53
+ commonKeychain =
54
+ '19bdfe2a4b498a05511381235a8892d54267807c4a3f654e310b938b8b424ff4adedbe92f4c146de641c67508a961324c8504cdf8e0c0acbb68d6104ccccd781';
55
+ keychains = [
56
+ {
57
+ id: '6424c353eaf78d000766e95949868468',
58
+ source: 'user',
59
+ type: 'tss',
60
+ commonKeychain: '19bdfe2a4b498a05511381235a8892d54267807c4a3f654e310b938b8b424ff4adedbe92f4c146de641c67508a961324c8504cdf8e0c0acbb68d6104ccccd781',
61
+ encryptedPrv: '{"iv":"cZd5i7L4RxtwrALW2rK7UA==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"5zgoH1Bd3Fw=","ct":"9vVlnXFRtrM9FVEo+d2chbGHlM9lFZemueBuAs3BIkPo33Fo7jzwwNK/kIWkEyg+NmEBd5IaqAS157nvvvwzzsmMWlQdUz9qbmXNv3pg987cXFR08exS+4uhwP1YNOjJTRvRNcO9ZqHb46d4fmyJ/yC9/susCge7r/EsbaN5C3afv1dzybuq912FwaQElZLYYp5BICudFOMZ9k0UDMfKM/PMDkH7WexoGHr9GKq/bgCH2B39TZZyHKU6Uy47lXep2s6h0DrMwHOrnmiL3DZjOj88Ynvphlzxuo4eOlD2UHia2+nvIaISYs29Pr0DAvREutchvcBpExj1kWWPv7hQYrv8F0NAdatsbWl3w+xKyfiMKo1USlrwyJviypGtQtXOJyw0XPN0rv2+L5lW8BbjpzHfYYN13fJTedlGTFhhkzVtbbPAKE02kx7zCJcjYaiexdSTsrDLScYNT9/Jhdt27KpsooehwVohLfSKz4vbFfRu2MPZw3/+c/hfiJNgtz6esWbnxGrcE8U2IwPYCaK+Ghk4DcqWNIni59RI5B5kAsQOToII40qPN510uTgxBSPO7q7MHgkxdd4CqBq+ojr9j0P7oao8E5Y+CBDJrojDoCh1oCCDW9vo2dXlVcD8SIbw7U/9AfvEbA4xyE/5md1M7CIwLnWs2Ynv0YtaKoqhdS9x6FmHlMDhN/DKHinrwmowtrTT82fOkpO5g9saSmgU7Qy3gLt8t+VwdEyeFeQUKRSyci8qgqXQaZIg4+aXgaSOnlCFMtmB8ekYxEhTY5uzRfrNgS4s1QeqFBpNtUF+Ydi297pbVXnJoXAN+SVWd80GCx+yI2dpVC89k3rOWK9WeyqlnzuLJWp2RIOB9cdW8GFv/fN+QAJpYeVxOE4+nZDsKnsj8nKcg9t4Dlx1G6gLM1/Vq9YxNLbuzuRC0asUYvdMnoMvszmpm++TxndYisgNYscpZSoz7wvcazJNEPfhPVjEkd6tUUuN4GM35H0DmKCUQNT+a6B6hmHlTZvjxiyGAg5bY59hdjvJ+22QduazlEEC6LI3HrA7uK0TpplWzS1tCIFvTMUhj65DEZmNJ2+ZY9bQ4vsMf+DRR3OOG4t+DMlNfjOd3zNv3QoY95BjfWpryFwPzDq7bCP67JDsoj7j2TY5FRSrRkD77H0Ewlux2cWfjRTwcMHcdQxxuV0OP0aNjGDjybFN"}',
62
+ },
63
+ {
64
+ id: '6424c353eaf78d000766e96137d4404b',
65
+ source: 'backup',
66
+ type: 'tss',
67
+ commonKeychain: '19bdfe2a4b498a05511381235a8892d54267807c4a3f654e310b938b8b424ff4adedbe92f4c146de641c67508a961324c8504cdf8e0c0acbb68d6104ccccd781',
68
+ encryptedPrv: '{"iv":"vi0dPef/Rx7kG/pRySQi6Q==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"9efhQsiEvVs=","ct":"Gw6atvf6gxKzsjtl3xseipO3rAxp1mAz7Yu1ihFsi5/lf2vMZegApgZx+pyILFS9KKLHbNF3U6WgSYdrr2t4vzdLsXkH1WIxfHS+cd2C5N59yADZDnPJBT6pv/IRvaYelP0Ck3nIYQ2hSMm8op+VOWC/SzHeh7slYDqwEHTGan0Wigfvk1yRd7CCJTaEAomnc/4eFi2NY3X3gt/3opy9IAgknnwUFohn96EWpEQ0F6pbzH/Z8VF6gF+DUcrrByAxExUPnHQZiFk3YHU/vVV4FxBU/mVAE8xBsBn5ul5e5SUMPfc7TBuJWv4BByTNg9xDShF/91Yx2nbfUm5d9QmM8lpKgzzQvcK8POAPk87gRCuKnsGh5vNS0UppkHc+ocfzRQlGA6jze7QyyQO0rMj5Ly8kWjwk2vISvKYHYS1NR7VU549UIXo7NXjatunKSc3+IreoRUHIshiaLg6hl+pxCCuc0qQ43V0mdIfCjTN8gkGWLNk8R7tAGPz9jyapQPcPEGHgEz0ATIi6yMNWCsibS2eLiE1uVEJONoM4lk6FPl3Q2CHbW2MeEbqjY8hbaw18mNb2xSBH/Fwpiial+Tvi2imqgnCO4ZpO9bllKftZPcQy0stN+eGBlb5ufyflKkDSiChHYroGjEpmiFicdde48cJszF52uKNnf1q67fA9/S2FAHQab3EXojxH2Gbk+kkV2h/TYKFFZSWC3vi4e8mO+vjMUcR0AdsgPFyEIz0SCGuba3CnTLNdEuZwsauAeHkx2vUTnRgJPVgNeeuXmsVG76Sy2ggJHuals0Hj8U2Xda0qO1RuFfoCWfss9wn6HGRwPPkhSB/8oNguAqmRVGKkd8Zwt3IvrTd9fk0/rFFDJKGz7WyNHkYgUmNiGcItD12v0jx7FZ52EJzl3Av1RyJUQK18+8EYPh3SGiU9dt7VX0aF0uo6JouKhOeldUvMP+AugQz8fUclwTQsbboVg27Yxo0DyATVwThW5a56R6Qf5ZiQJluFuzs5y98rq0S5q046lE6o3vVmJpEdwjeSCJoET5CL4nTgkXyWvhm4eB8u/e66l3o0qbaSx8q9YYmT9EpRcl5TP4ThLBKETYdzVvg4exjQfektMatk5EyUpEIhZPXh5vXpJZesdfO9LJ8zTaHBsBjDPU7cdNgQMbebpataRi8A0el2/IJXl+E+olgAz5zC4i2O1Q=="}',
69
+ },
70
+ {
71
+ id: '6424c353eaf78d000766e9510b125fba',
72
+ source: 'bitgo',
73
+ type: 'tss',
74
+ commonKeychain: '19bdfe2a4b498a05511381235a8892d54267807c4a3f654e310b938b8b424ff4adedbe92f4c146de641c67508a961324c8504cdf8e0c0acbb68d6104ccccd781',
75
+ verifiedVssProof: true,
76
+ isBitGo: true,
77
+ },
78
+ ];
79
+ });
80
+ it('should return true when receive address is valid', async function () {
81
+ const address = resources_1.CANTON_RECEIVE_ADDRESS.VALID_ADDRESS;
82
+ const index = '1';
83
+ const params = { commonKeychain, address: address, index, keychains };
84
+ const isValid = await basecoin.isWalletAddress(params);
85
+ isValid.should.equal(true);
86
+ });
87
+ it('should throw error when receive address is invalid', async function () {
88
+ const address = resources_1.CANTON_RECEIVE_ADDRESS.INVALID_ADDRESS;
89
+ const index = '1';
90
+ const params = { commonKeychain, address: address, index, keychains };
91
+ try {
92
+ await basecoin.isWalletAddress(params);
93
+ }
94
+ catch (e) {
95
+ assert_1.default.equal(e.message, 'invalid address: ' + address);
96
+ }
97
+ });
98
+ it('should throw error when receive address memoId is incorrect index', async function () {
99
+ const address = resources_1.CANTON_RECEIVE_ADDRESS.VALID_ADDRESS;
100
+ const index = '2';
101
+ const params = { commonKeychain, address: address, index, keychains };
102
+ try {
103
+ await basecoin.isWalletAddress(params);
104
+ }
105
+ catch (e) {
106
+ assert_1.default.equal(e.message, 'invalid memoId index: 1');
107
+ }
108
+ });
109
+ });
110
+ });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudG9uLmludGVncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9pbnRlZ3JhdGlvbi9jYW50b24uaW50ZWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsNENBQTBDO0FBQzFDLDhDQUFrRDtBQUNsRCw4Q0FBMEQ7QUFFMUQsc0NBQW9EO0FBQ3BELDRDQU1zQjtBQUN0QixtQ0FBb0M7QUFFcEMsUUFBUSxDQUFDLDBCQUEwQixFQUFFO0lBQ25DLElBQUksS0FBbUIsQ0FBQztJQUN4QixJQUFJLFFBQWlCLENBQUM7SUFDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUNWLEtBQUssR0FBRyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsYUFBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RELFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBWSxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHlCQUF5QixFQUFFO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUEsZ0NBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1lBQy9DLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0NBQXdCLENBQUMsQ0FBQztZQUN2RCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ2hDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQy9DLElBQUEsZ0JBQU0sRUFBQyxhQUFhLENBQUMsQ0FBQztZQUN0QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLG9DQUF3QixD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O1FBRUgsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEtBQUs7WUFDNUQsTUFBTSxPQUFPLEdBQUcsa0NBQXNCLENBQUMsZUFBZSxDQUFDO1lBQ3ZELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FBRyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLGdCQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDekQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG1FQUFtRSxFQUFFLEtBQUs7WUFDM0UsTUFBTSxPQUFPLEdBQUcsa0NBQXNCLENBQUMsYUFBYSxDQUFDO1lBQ3JELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FBRyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLGdCQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUseUJBQXlCLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUZXN0Qml0R28sIFRlc3RCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstdGVzdCc7XG5cbmltcG9ydCB7IGdldENhbnRvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vaGVscGVyJztcbmltcG9ydCB7XG4gIENBTlRPTl9SRUNFSVZFX0FERFJFU1MsXG4gIEdlbmVyYXRlVG9wb2xvZ3lSZXNwb25zZSxcbiAgVHJhbnNmZXJBY2NlcHRSYXdUcmFuc2FjdGlvbixcbiAgVHJhbnNmZXJSZWplY3RSYXdUcmFuc2FjdGlvbixcbiAgV2FsbGV0SW5pdFJhd1RyYW5zYWN0aW9uLFxufSBmcm9tICcuLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgVGNhbnRvbiB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdDYW50b24gaW50ZWdyYXRpb24gdGVzdHMnLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBiaXRnbzogVGVzdEJpdEdvQVBJO1xuICBsZXQgYmFzZWNvaW46IFRjYW50b247XG4gIGJlZm9yZSgoKSA9PiB7XG4gICAgYml0Z28gPSBUZXN0Qml0R28uZGVjb3JhdGUoQml0R29BUEksIHsgZW52OiAnbW9jaycgfSk7XG4gICAgYml0Z28uc2FmZVJlZ2lzdGVyKCd0Y2FudG9uJywgVGNhbnRvbi5jcmVhdGVJbnN0YW5jZSk7XG4gICAgYmFzZWNvaW4gPSBiaXRnby5jb2luKCd0Y2FudG9uJykgYXMgVGNhbnRvbjtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0V4cGxhaW4gcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGZhY3RvcnkgPSBnZXRDYW50b25CdWlsZGVyRmFjdG9yeSgndGNhbnRvbicpO1xuICAgIGl0KCdzaG91bGQgZXhwbGFpbiByYXcgd2FsbGV0IGluaXQgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tKFdhbGxldEluaXRSYXdUcmFuc2FjdGlvbik7XG4gICAgICBjb25zdCB0eG4gPSBidWlsZGVyLnRyYW5zYWN0aW9uO1xuICAgICAgY29uc3QgZXhwbGFpblR4RGF0YSA9IHR4bi5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgICAgIGFzc2VydChleHBsYWluVHhEYXRhKTtcbiAgICAgIGFzc2VydC5lcXVhbChleHBsYWluVHhEYXRhLmlkLCBHZW5lcmF0ZVRvcG9sb2d5UmVzcG9uc2UubXVsdGlIYXNoKTtcbiAgICAgIGFzc2VydC5lcXVhbChleHBsYWluVHhEYXRhLnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4cGxhaW4gcmF3IHRyYW5zZmVyIGFjY2VwdGFuY2UgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tKFRyYW5zZmVyQWNjZXB0UmF3VHJhbnNhY3Rpb24pO1xuICAgICAgY29uc3QgdHhuID0gYnVpbGRlci50cmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IGV4cGxhaW5UeERhdGEgPSB0eG4uZXhwbGFpblRyYW5zYWN0aW9uKCk7XG4gICAgICBhc3NlcnQoZXhwbGFpblR4RGF0YSk7XG4gICAgICBhc3NlcnQoZXhwbGFpblR4RGF0YS5pZCk7XG4gICAgICBhc3NlcnQuZXF1YWwoZXhwbGFpblR4RGF0YS50eXBlLCBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQpO1xuICAgICAgYXNzZXJ0LmVxdWFsKGV4cGxhaW5UeERhdGEuaW5wdXRBbW91bnQsICc1LjAwMDAwMDAwMDAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZXhwbGFpbiByYXcgdHJhbnNmZXIgcmVqZWN0aW9uIHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZnJvbShUcmFuc2ZlclJlamVjdFJhd1RyYW5zYWN0aW9uKTtcbiAgICAgIGNvbnN0IHR4biA9IGJ1aWxkZXIudHJhbnNhY3Rpb247XG4gICAgICBjb25zdCBleHBsYWluVHhEYXRhID0gdHhuLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICAgICAgYXNzZXJ0KGV4cGxhaW5UeERhdGEpO1xuICAgICAgYXNzZXJ0LmVxdWFsKGV4cGxhaW5UeERhdGEudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyUmVqZWN0KTtcbiAgICAgIGFzc2VydC5lcXVhbChleHBsYWluVHhEYXRhLmlucHV0QW1vdW50LCAnNS4wMDAwMDAwMDAwJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpc1dhbGxldEFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGtleWNoYWlucztcbiAgICBsZXQgY29tbW9uS2V5Y2hhaW46IHN0cmluZztcbiAgICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgICAgY29tbW9uS2V5Y2hhaW4gPVxuICAgICAgICAnMTliZGZlMmE0YjQ5OGEwNTUxMTM4MTIzNWE4ODkyZDU0MjY3ODA3YzRhM2Y2NTRlMzEwYjkzOGI4YjQyNGZmNGFkZWRiZTkyZjRjMTQ2ZGU2NDFjNjc1MDhhOTYxMzI0Yzg1MDRjZGY4ZTBjMGFjYmI2OGQ2MTA0Y2NjY2Q3ODEnO1xuICAgICAga2V5Y2hhaW5zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICc2NDI0YzM1M2VhZjc4ZDAwMDc2NmU5NTk0OTg2ODQ2OCcsXG4gICAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICAgICAgdHlwZTogJ3RzcycsXG4gICAgICAgICAgY29tbW9uS2V5Y2hhaW46XG4gICAgICAgICAgICAnMTliZGZlMmE0YjQ5OGEwNTUxMTM4MTIzNWE4ODkyZDU0MjY3ODA3YzRhM2Y2NTRlMzEwYjkzOGI4YjQyNGZmNGFkZWRiZTkyZjRjMTQ2ZGU2NDFjNjc1MDhhOTYxMzI0Yzg1MDRjZGY4ZTBjMGFjYmI2OGQ2MTA0Y2NjY2Q3ODEnLFxuICAgICAgICAgIGVuY3J5cHRlZFBydjpcbiAgICAgICAgICAgICd7XCJpdlwiOlwiY1pkNWk3TDRSeHR3ckFMVzJySzdVQT09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIjpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIjV6Z29IMUJkM0Z3PVwiLFwiY3RcIjpcIjl2VmxuWEZSdHJNOUZWRW8rZDJjaGJHSGxNOWxGWmVtdWVCdUFzM0JJa1BvMzNGbzdqend3Tksva0lXa0V5ZytObUVCZDVJYXFBUzE1N252dnZ3enpzbU1XbFFkVXo5cWJtWE52M3BnOTg3Y1hGUjA4ZXhTKzR1aHdQMVlOT2pKVFJ2Uk5jTzlacUhiNDZkNGZteUoveUM5L3N1c0NnZTdyL0VzYmFONUMzYWZ2MWR6eWJ1cTkxMkZ3YVFFbFpMWVlwNUJJQ3VkRk9NWjlrMFVETWZLTS9QTURrSDdXZXhvR0hyOUdLcS9iZ0NIMkIzOVRaWnlIS1U2VXk0N2xYZXAyczZoMERyTXdIT3JubWlMM0Raak9qODhZbnZwaGx6eHVvNGVPbEQyVUhpYTIrbnZJYUlTWXMyOVByMERBdlJFdXRjaHZjQnBFeGoxa1dXUHY3aFFZcnY4RjBOQWRhdHNiV2wzdyt4S3lmaU1LbzFVU2xyd3lKdml5cEd0UXRYT0p5dzBYUE4wcnYyK0w1bFc4QmJqcHpIZllZTjEzZkpUZWRsR1RGaGhrelZ0YmJQQUtFMDJreDd6Q0pjallhaWV4ZFNUc3JETFNjWU5UOS9KaGR0MjdLcHNvb2Vod1ZvaExmU0t6NHZiRmZSdTJNUFp3My8rYy9oZmlKTmd0ejZlc1dibnhHcmNFOFUySXdQWUNhSytHaGs0RGNxV05Jbmk1OVJJNUI1a0FzUU9Ub0lJNDBxUE41MTB1VGd4QlNQTzdxN01IZ2t4ZGQ0Q3FCcStvanI5ajBQN29hbzhFNVkrQ0JESnJvakRvQ2gxb0NDRFc5dm8yZFhsVmNEOFNJYnc3VS85QWZ2RWJBNHh5RS81bWQxTTdDSXdMbldzMlludjBZdGFLb3FoZFM5eDZGbUhsTURoTi9ES0hpbnJ3bW93dHJUVDgyZk9rcE81ZzlzYVNtZ1U3UXkzZ0x0OHQrVndkRXllRmVRVUtSU3ljaThxZ3FYUWFaSWc0K2FYZ2FTT25sQ0ZNdG1COGVrWXhFaFRZNXV6UmZyTmdTNHMxUWVxRkJwTnRVRitZZGkyOTdwYlZYbkpvWEFOK1NWV2Q4MEdDeCt5STJkcFZDODlrM3JPV0s5V2V5cWxuenVMSldwMlJJT0I5Y2RXOEdGdi9mTitRQUpwWWVWeE9FNCtuWkRzS25zajhuS2NnOXQ0RGx4MUc2Z0xNMS9WcTlZeE5MYnV6dVJDMGFzVVl2ZE1ub012c3ptcG0rK1R4bmRZaXNnTllzY3BaU296N3d2Y2F6Sk5FUGZoUFZqRWtkNnRVVXVONEdNMzVIMERtS0NVUU5UK2E2QjZobUhsVFp2anhpeUdBZzViWTU5aGRqdkorMjJRZHVhemxFRUM2TEkzSHJBN3VLMFRwcGxXelMxdENJRnZUTVVoajY1REVabU5KMitaWTliUTR2c01mK0RSUjNPT0c0dCtETWxOZmpPZDN6TnYzUW9ZOTVCamZXcHJ5RndQekRxN2JDUDY3SkRzb2o3ajJUWTVGUlNyUmtENzdIMEV3bHV4MmNXZmpSVHdjTUhjZFF4eHVWME9QMGFOakdEanliRk5cIn0nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICc2NDI0YzM1M2VhZjc4ZDAwMDc2NmU5NjEzN2Q0NDA0YicsXG4gICAgICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgICAgICB0eXBlOiAndHNzJyxcbiAgICAgICAgICBjb21tb25LZXljaGFpbjpcbiAgICAgICAgICAgICcxOWJkZmUyYTRiNDk4YTA1NTExMzgxMjM1YTg4OTJkNTQyNjc4MDdjNGEzZjY1NGUzMTBiOTM4YjhiNDI0ZmY0YWRlZGJlOTJmNGMxNDZkZTY0MWM2NzUwOGE5NjEzMjRjODUwNGNkZjhlMGMwYWNiYjY4ZDYxMDRjY2NjZDc4MScsXG4gICAgICAgICAgZW5jcnlwdGVkUHJ2OlxuICAgICAgICAgICAgJ3tcIml2XCI6XCJ2aTBkUGVmL1J4N2tHL3BSeVNRaTZRPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiOWVmaFFzaUV2VnM9XCIsXCJjdFwiOlwiR3c2YXR2ZjZneEt6c2p0bDN4c2VpcE8zckF4cDFtQXo3WXUxaWhGc2k1L2xmMnZNWmVnQXBnWngrcHlJTEZTOUtLTEhiTkYzVTZXZ1NZZHJyMnQ0dnpkTHNYa0gxV0l4ZkhTK2NkMkM1TjU5eUFEWkRuUEpCVDZwdi9JUnZhWWVsUDBDazNuSVlRMmhTTW04b3ArVk9XQy9TekhlaDdzbFlEcXdFSFRHYW4wV2lnZnZrMXlSZDdDQ0pUYUVBb21uYy80ZUZpMk5ZM1gzZ3QvM29weTlJQWdrbm53VUZvaG45NkVXcEVRMEY2cGJ6SC9aOFZGNmdGK0RVY3JyQnlBeEV4VVBuSFFaaUZrM1lIVS92VlY0RnhCVS9tVkFFOHhCc0JuNXVsNWU1U1VNUGZjN1RCdUpXdjRCQnlUTmc5eERTaEYvOTFZeDJuYmZVbTVkOVFtTThscEtnenpRdmNLOFBPQVBrODdnUkN1S25zR2g1dk5TMFVwcGtIYytvY2Z6UlFsR0E2anplN1F5eVFPMHJNajVMeThrV2p3azJ2SVN2S1lIWVMxTlI3VlU1NDlVSVhvN05YamF0dW5LU2MzK0lyZW9SVUhJc2hpYUxnNmhsK3B4Q0N1YzBxUTQzVjBtZElmQ2pUTjhna0dXTE5rOFI3dEFHUHo5anlhcFFQY1BFR0hnRXowQVRJaTZ5TU5XQ3NpYlMyZUxpRTF1VkVKT05vTTRsazZGUGwzUTJDSGJXMk1lRWJxalk4aGJhdzE4bU5iMnhTQkgvRndwaWlhbCtUdmkyaW1xZ25DTzRacE85YmxsS2Z0WlBjUXkwc3ROK2VHQmxiNXVmeWZsS2tEU2lDaEhZcm9HakVwbWlGaWNkZGU0OGNKc3pGNTJ1S05uZjFxNjdmQTkvUzJGQUhRYWIzRVhvanhIMkdiaytra1YyaC9UWUtGRlpTV0Mzdmk0ZThtTyt2ak1VY1IwQWRzZ1BGeUVJejBTQ0d1YmEzQ25UTE5kRXVad3NhdUFlSGt4MnZVVG5SZ0pQVmdOZWV1WG1zVkc3NlN5MmdnSkh1YWxzMEhqOFUyWGRhMHFPMVJ1RmZvQ1dmc3M5d242SEdSd1BQa2hTQi84b05ndUFxbVJWR0trZDhad3QzSXZyVGQ5ZmswL3JGRkRKS0d6N1d5TkhrWWdVbU5pR2NJdEQxMnYwang3Rlo1MkVKemwzQXYxUnlKVVFLMTgrOEVZUGgzU0dpVTlkdDdWWDBhRjB1bzZKb3VLaE9lbGRVdk1QK0F1Z1F6OGZVY2x3VFFzYmJvVmcyN1l4bzBEeUFUVndUaFc1YTU2UjZRZjVaaVFKbHVGdXpzNXk5OHJxMFM1cTA0NmxFNm8zdlZtSnBFZHdqZVNDSm9FVDVDTDRuVGdrWHlXdmhtNGVCOHUvZTY2bDNvMHFiYVN4OHE5WVltVDlFcFJjbDVUUDRUaExCS0VUWWR6VnZnNGV4alFmZWt0TWF0azVFeVVwRUloWlBYaDV2WHBKWmVzZGZPOUxKOHpUYUhCc0JqRFBVN2NkTmdRTWJlYnBhdGFSaThBMGVsMi9JSlhsK0Urb2xnQXo1ekM0aTJPMVE9PVwifScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJzY0MjRjMzUzZWFmNzhkMDAwNzY2ZTk1MTBiMTI1ZmJhJyxcbiAgICAgICAgICBzb3VyY2U6ICdiaXRnbycsXG4gICAgICAgICAgdHlwZTogJ3RzcycsXG4gICAgICAgICAgY29tbW9uS2V5Y2hhaW46XG4gICAgICAgICAgICAnMTliZGZlMmE0YjQ5OGEwNTUxMTM4MTIzNWE4ODkyZDU0MjY3ODA3YzRhM2Y2NTRlMzEwYjkzOGI4YjQyNGZmNGFkZWRiZTkyZjRjMTQ2ZGU2NDFjNjc1MDhhOTYxMzI0Yzg1MDRjZGY4ZTBjMGFjYmI2OGQ2MTA0Y2NjY2Q3ODEnLFxuICAgICAgICAgIHZlcmlmaWVkVnNzUHJvb2Y6IHRydWUsXG4gICAgICAgICAgaXNCaXRHbzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHJlY2VpdmUgYWRkcmVzcyBpcyB2YWxpZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBDQU5UT05fUkVDRUlWRV9BRERSRVNTLlZBTElEX0FERFJFU1M7XG4gICAgICBjb25zdCBpbmRleCA9ICcxJztcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsgY29tbW9uS2V5Y2hhaW4sIGFkZHJlc3M6IGFkZHJlc3MsIGluZGV4LCBrZXljaGFpbnMgfTtcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCBiYXNlY29pbi5pc1dhbGxldEFkZHJlc3MocGFyYW1zKTtcbiAgICAgIGlzVmFsaWQuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHJlY2VpdmUgYWRkcmVzcyBpcyBpbnZhbGlkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9IENBTlRPTl9SRUNFSVZFX0FERFJFU1MuSU5WQUxJRF9BRERSRVNTO1xuICAgICAgY29uc3QgaW5kZXggPSAnMSc7XG4gICAgICBjb25zdCBwYXJhbXMgPSB7IGNvbW1vbktleWNoYWluLCBhZGRyZXNzOiBhZGRyZXNzLCBpbmRleCwga2V5Y2hhaW5zIH07XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBiYXNlY29pbi5pc1dhbGxldEFkZHJlc3MocGFyYW1zKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgYXNzZXJ0LmVxdWFsKGUubWVzc2FnZSwgJ2ludmFsaWQgYWRkcmVzczogJyArIGFkZHJlc3MpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciB3aGVuIHJlY2VpdmUgYWRkcmVzcyBtZW1vSWQgaXMgaW5jb3JyZWN0IGluZGV4JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9IENBTlRPTl9SRUNFSVZFX0FERFJFU1MuVkFMSURfQUREUkVTUztcbiAgICAgIGNvbnN0IGluZGV4ID0gJzInO1xuICAgICAgY29uc3QgcGFyYW1zID0geyBjb21tb25LZXljaGFpbiwgYWRkcmVzczogYWRkcmVzcywgaW5kZXgsIGtleWNoYWlucyB9O1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYmFzZWNvaW4uaXNXYWxsZXRBZGRyZXNzKHBhcmFtcyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIG1lbW9JZCBpbmRleDogMScpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19