@bitgo/sdk-coin-sui 5.22.0 → 5.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/src/lib/iface.d.ts +19 -1
  2. package/dist/src/lib/iface.d.ts.map +1 -1
  3. package/dist/src/lib/iface.js +8 -1
  4. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +31 -2
  5. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -1
  6. package/dist/src/lib/mystenlab/builder/Inputs.js +43 -3
  7. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +29 -0
  8. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -1
  9. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +23 -1
  10. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +21 -0
  11. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -1
  12. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +6 -2
  13. package/dist/src/lib/mystenlab/types/coin.d.ts +4 -2
  14. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -1
  15. package/dist/src/lib/mystenlab/types/coin.js +3 -2
  16. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +18 -0
  17. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -1
  18. package/dist/src/lib/mystenlab/types/sui-bcs.js +13 -1
  19. package/dist/src/lib/tokenTransferBuilder.d.ts +30 -2
  20. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -1
  21. package/dist/src/lib/tokenTransferBuilder.js +82 -12
  22. package/dist/src/lib/tokenTransferTransaction.d.ts +3 -1
  23. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -1
  24. package/dist/src/lib/tokenTransferTransaction.js +26 -12
  25. package/dist/src/lib/transaction.d.ts.map +1 -1
  26. package/dist/src/lib/transaction.js +23 -1
  27. package/dist/src/lib/transactionBuilder.d.ts +7 -1
  28. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  29. package/dist/src/lib/transactionBuilder.js +15 -2
  30. package/dist/src/lib/transferBuilder.d.ts +44 -1
  31. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  32. package/dist/src/lib/transferBuilder.js +118 -2
  33. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  34. package/dist/src/lib/transferTransaction.js +17 -9
  35. package/dist/src/lib/utils.d.ts +11 -2
  36. package/dist/src/lib/utils.d.ts.map +1 -1
  37. package/dist/src/lib/utils.js +26 -2
  38. package/dist/src/sui.d.ts +2 -2
  39. package/dist/src/sui.d.ts.map +1 -1
  40. package/dist/src/sui.js +35 -7
  41. package/dist/test/unit/sui.js +64 -40
  42. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +107 -1
  43. package/dist/test/unit/transactionBuilder/transferBuilder.js +131 -1
  44. package/dist/test/unit/utils.js +106 -1
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +8 -8
@@ -9,7 +9,11 @@ const bcs_2 = require("./bcs");
9
9
  const Transactions_1 = require("./Transactions");
10
10
  const Inputs_1 = require("./Inputs");
11
11
  const utils_1 = require("./utils");
12
- exports.TransactionExpiration = (0, superstruct_1.optional)((0, superstruct_1.nullable)((0, superstruct_1.union)([(0, superstruct_1.object)({ Epoch: (0, superstruct_1.integer)() }), (0, superstruct_1.object)({ None: (0, superstruct_1.union)([(0, superstruct_1.literal)(true), (0, superstruct_1.literal)(null)]) })])));
12
+ exports.TransactionExpiration = (0, superstruct_1.optional)((0, superstruct_1.nullable)((0, superstruct_1.union)([
13
+ (0, superstruct_1.object)({ Epoch: (0, superstruct_1.integer)() }),
14
+ (0, superstruct_1.object)({ None: (0, superstruct_1.union)([(0, superstruct_1.literal)(true), (0, superstruct_1.literal)(null)]) }),
15
+ (0, superstruct_1.object)({ ValidDuring: (0, superstruct_1.object)({ minEpoch: (0, superstruct_1.integer)(), maxEpoch: (0, superstruct_1.integer)(), chain: (0, superstruct_1.string)(), nonce: (0, superstruct_1.integer)() }) }),
16
+ ])));
13
17
  const SuiAddress = (0, superstruct_1.string)();
14
18
  const StringEncodedBigint = (0, superstruct_1.define)('StringEncodedBigint', (val) => {
15
19
  if (!['string', 'number', 'bigint'].includes(typeof val))
@@ -165,4 +169,4 @@ class TransactionBlockDataBuilder {
165
169
  }
166
170
  }
167
171
  exports.TransactionBlockDataBuilder = TransactionBlockDataBuilder;
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25EYXRhQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL215c3RlbmxhYi9idWlsZGVyL1RyYW5zYWN0aW9uRGF0YUJsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFvQztBQUNwQyw2Q0FhcUI7QUFDckIsK0NBQXFEO0FBQ3JELG9DQUE2RDtBQUM3RCwrQkFBZ0M7QUFDaEMsaURBQXdFO0FBQ3hFLHFDQUF1RDtBQUN2RCxtQ0FBaUM7QUFFcEIsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLHNCQUFRLEVBQzNDLElBQUEsc0JBQVEsRUFBQyxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxJQUFBLG9CQUFNLEVBQUMsRUFBRSxLQUFLLEVBQUUsSUFBQSxxQkFBTyxHQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUEsb0JBQU0sRUFBQyxFQUFFLElBQUksRUFBRSxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxJQUFBLHFCQUFPLEVBQUMsSUFBSSxDQUFDLEVBQUUsSUFBQSxxQkFBTyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pHLENBQUM7QUFHRixNQUFNLFVBQVUsR0FBRyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztBQUU1QixNQUFNLG1CQUFtQixHQUFHLElBQUEsb0JBQU0sRUFBUyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3hFLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFdkUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxDQUFDLEdBQWEsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztB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QU8sRUFBRSxpQ0FBeUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkgsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFBLGNBQU0sRUFBQyxJQUFJLEVBQUUsd0NBQWdDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUF6S0Qsa0VBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9CNTggfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQge1xuICBhcnJheSxcbiAgYXNzZXJ0LFxuICBkZWZpbmUsXG4gIEluZmVyLFxuICBpbnRlZ2VyLFxuICBpcyxcbiAgbGl0ZXJhbCxcbiAgbnVsbGFibGUsXG4gIG9iamVjdCxcbiAgb3B0aW9uYWwsXG4gIHN0cmluZyxcbiAgdW5pb24sXG59IGZyb20gJ3N1cGVyc3RydWN0JztcbmltcG9ydCB7IGhhc2hUeXBlZERhdGEgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvaGFzaCc7XG5pbXBvcnQgeyBub3JtYWxpemVTdWlBZGRyZXNzLCBTdWlPYmplY3RSZWYgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBidWlsZGVyIH0gZnJvbSAnLi9iY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBUcmFuc2FjdGlvbkJsb2NrSW5wdXQgfSBmcm9tICcuL1RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWlsZGVyQ2FsbEFyZywgUHVyZUNhbGxBcmcgfSBmcm9tICcuL0lucHV0cyc7XG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IG9wdGlvbmFsKFxuICBudWxsYWJsZSh1bmlvbihbb2JqZWN0KHsgRXBvY2g6IGludGVnZXIoKSB9KSwgb2JqZWN0KHsgTm9uZTogdW5pb24oW2xpdGVyYWwodHJ1ZSksIGxpdGVyYWwobnVsbCldKSB9KV0pKVxuKTtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IEluZmVyPHR5cGVvZiBUcmFuc2FjdGlvbkV4cGlyYXRpb24+O1xuXG5jb25zdCBTdWlBZGRyZXNzID0gc3RyaW5nKCk7XG5cbmNvbnN0IFN0cmluZ0VuY29kZWRCaWdpbnQgPSBkZWZpbmU8c3RyaW5nPignU3RyaW5nRW5jb2RlZEJpZ2ludCcsICh2YWwpID0+IHtcbiAgaWYgKCFbJ3N0cmluZycsICdudW1iZXInLCAnYmlnaW50J10uaW5jbHVkZXModHlwZW9mIHZhbCkpIHJldHVybiBmYWxzZTtcblxuICB0cnkge1xuICAgIEJpZ0ludCh2YWwgYXMgc3RyaW5nKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59KTtcblxuY29uc3QgR2FzQ29uZmlnID0gb2JqZWN0KHtcbiAgYnVkZ2V0OiBvcHRpb25hbChTdHJpbmdFbmNvZGVkQmlnaW50KSxcbiAgcHJpY2U6IG9wdGlvbmFsKFN0cmluZ0VuY29kZWRCaWdpbnQpLFxuICBwYXltZW50OiBvcHRpb25hbChhcnJheShTdWlPYmplY3RSZWYpKSxcbiAgb3duZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxufSk7XG50eXBlIEdhc0NvbmZpZyA9IEluZmVyPHR5cGVvZiBHYXNDb25maWc+O1xuXG5leHBvcnQgY29uc3QgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBvYmplY3Qoe1xuICB2ZXJzaW9uOiBsaXRlcmFsKDEpLFxuICBzZW5kZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxuICBleHBpcmF0aW9uOiBUcmFuc2FjdGlvbkV4cGlyYXRpb24sXG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnLFxuICBpbnB1dHM6IGFycmF5KFRyYW5zYWN0aW9uQmxvY2tJbnB1dCksXG4gIHRyYW5zYWN0aW9uczogYXJyYXkoVHJhbnNhY3Rpb25UeXBlKSxcbn0pO1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBJbmZlcjx0eXBlb2YgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXI+O1xuXG5mdW5jdGlvbiBwcmVwYXJlU3VpQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVN1aUFkZHJlc3MoYWRkcmVzcykucmVwbGFjZSgnMHgnLCAnJyk7XG59XG5cbi8vIE5PVEU6IFRoaXMgdmFsdWUgc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGluXG4vLyBjcmF0ZXMvc3VpLXByb3RvY29sLWNvbmZpZy9zcmMvbGliLnJzXG5leHBvcnQgY29uc3QgVFJBTlNBQ1RJT05fREFUQV9NQVhfU0laRSA9IDEyOCAqIDEwMjQ7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIge1xuICBzdGF0aWMgZnJvbUtpbmRCeXRlcyhieXRlczogVWludDhBcnJheSkge1xuICAgIGNvbnN0IGtpbmQgPSBidWlsZGVyLmRlKCdUcmFuc2FjdGlvbktpbmQnLCBieXRlcyk7XG4gICAgY29uc3QgcHJvZ3JhbW1hYmxlVHggPSBraW5kPy5Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbjtcbiAgICBpZiAoIXByb2dyYW1tYWJsZVR4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXNlcmlhbGl6ZSBmcm9tIGJ5dGVzLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBjcmVhdGUoXG4gICAgICB7XG4gICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgIGdhc0NvbmZpZzoge30sXG4gICAgICAgIGlucHV0czogcHJvZ3JhbW1hYmxlVHguaW5wdXRzLm1hcCgodmFsdWU6IHVua25vd24sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgY3JlYXRlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBraW5kOiAnSW5wdXQnLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgIHR5cGU6IGlzKHZhbHVlLCBQdXJlQ2FsbEFyZykgPyAncHVyZScgOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBUcmFuc2FjdGlvbkJsb2NrSW5wdXRcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRyYW5zYWN0aW9uczogcHJvZ3JhbW1hYmxlVHgudHJhbnNhY3Rpb25zLFxuICAgICAgfSxcbiAgICAgIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyXG4gICAgKTtcblxuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIucmVzdG9yZShzZXJpYWxpemVkKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCByYXdEYXRhID0gYnVpbGRlci5kZSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIGNvbnN0IGRhdGEgPSByYXdEYXRhPy5WMTtcbiAgICBjb25zdCBwcm9ncmFtbWFibGVUeCA9IGRhdGE/LmtpbmQ/LlByb2dyYW1tYWJsZVRyYW5zYWN0aW9uO1xuICAgIGlmICghZGF0YSB8fCAhcHJvZ3JhbW1hYmxlVHgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRlc2VyaWFsaXplIGZyb20gYnl0ZXMuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IGNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgc2VuZGVyOiBkYXRhLnNlbmRlcixcbiAgICAgICAgZXhwaXJhdGlvbjogZGF0YS5leHBpcmF0aW9uLFxuICAgICAgICBnYXNDb25maWc6IGRhdGEuZ2FzRGF0YSxcbiAgICAgICAgaW5wdXRzOiBwcm9ncmFtbWFibGVUeC5pbnB1dHMubWFwKCh2YWx1ZTogdW5rbm93biwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICBjcmVhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdJbnB1dCcsXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgdHlwZTogaXModmFsdWUsIFB1cmVDYWxsQXJnKSA/ICdwdXJlJyA6ICdvYmplY3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFRyYW5zYWN0aW9uQmxvY2tJbnB1dFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBwcm9ncmFtbWFibGVUeC50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgICAgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXJcbiAgICApO1xuXG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlci5yZXN0b3JlKHNlcmlhbGl6ZWQpO1xuICB9XG5cbiAgc3RhdGljIHJlc3RvcmUoZGF0YTogU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpIHtcbiAgICBhc3NlcnQoZGF0YSwgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IG5ldyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIoKTtcbiAgICBPYmplY3QuYXNzaWduKHRyYW5zYWN0aW9uRGF0YSwgZGF0YSk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0cmFuc2FjdGlvbiBkaWdlc3QuXG4gICAqXG4gICAqIEBwYXJhbSBieXRlcyBCQ1Mgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEByZXR1cm5zIHRyYW5zYWN0aW9uIGRpZ2VzdC5cbiAgICovXG4gIHN0YXRpYyBnZXREaWdlc3RGcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCBoYXNoID0gaGFzaFR5cGVkRGF0YSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIHJldHVybiB0b0I1OChoYXNoKTtcbiAgfVxuXG4gIHZlcnNpb24gPSAxIGFzIGNvbnN0O1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb24/OiBUcmFuc2FjdGlvbkV4cGlyYXRpb247XG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnO1xuICBpbnB1dHM6IFRyYW5zYWN0aW9uQmxvY2tJbnB1dFtdO1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uVHlwZVtdO1xuXG4gIGNvbnN0cnVjdG9yKGNsb25lPzogVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyKSB7XG4gICAgdGhpcy5zZW5kZXIgPSBjbG9uZT8uc2VuZGVyO1xuICAgIHRoaXMuZXhwaXJhdGlvbiA9IGNsb25lPy5leHBpcmF0aW9uO1xuICAgIHRoaXMuZ2FzQ29uZmlnID0gY2xvbmU/Lmdhc0NvbmZpZyA/PyB7fTtcbiAgICB0aGlzLmlucHV0cyA9IGNsb25lPy5pbnB1dHMgPz8gW107XG4gICAgdGhpcy50cmFuc2FjdGlvbnMgPSBjbG9uZT8udHJhbnNhY3Rpb25zID8/IFtdO1xuICB9XG5cbiAgYnVpbGQoe1xuICAgIG92ZXJyaWRlcyxcbiAgICBvbmx5VHJhbnNhY3Rpb25LaW5kLFxuICB9OiB7XG4gICAgb3ZlcnJpZGVzPzogUGljazxQYXJ0aWFsPFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlcj4sICdzZW5kZXInIHwgJ2dhc0NvbmZpZycgfCAnZXhwaXJhdGlvbic+O1xuICAgIG9ubHlUcmFuc2FjdGlvbktpbmQ/OiBib29sZWFuO1xuICB9ID0ge30pIHtcbiAgICAvLyBSZXNvbHZlIGlucHV0cyBkb3duIHRvIHZhbHVlczpcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLmlucHV0cy5tYXAoKGlucHV0KSA9PiB7XG4gICAgICBhc3NlcnQoaW5wdXQudmFsdWUsIEJ1aWxkZXJDYWxsQXJnKTtcbiAgICAgIHJldHVybiBpbnB1dC52YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGtpbmQgPSB7XG4gICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjoge1xuICAgICAgICBpbnB1dHMsXG4gICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob25seVRyYW5zYWN0aW9uS2luZCkge1xuICAgICAgcmV0dXJuIGJ1aWxkZXIuc2VyKCdUcmFuc2FjdGlvbktpbmQnLCBraW5kLCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBvdmVycmlkZXM/LmV4cGlyYXRpb24gPz8gdGhpcy5leHBpcmF0aW9uO1xuICAgIGNvbnN0IHNlbmRlciA9IG92ZXJyaWRlcz8uc2VuZGVyID8/IHRoaXMuc2VuZGVyO1xuICAgIGNvbnN0IGdhc0NvbmZpZyA9IHsgLi4udGhpcy5nYXNDb25maWcsIC4uLm92ZXJyaWRlcz8uZ2FzQ29uZmlnIH07XG5cbiAgICBpZiAoIXNlbmRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHRyYW5zYWN0aW9uIHNlbmRlcicpO1xuICAgIH1cblxuICAgIGlmICghZ2FzQ29uZmlnLmJ1ZGdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBidWRnZXQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wYXltZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZ2FzIHBheW1lbnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wcmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBwcmljZScpO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIHNlbmRlcjogcHJlcGFyZVN1aUFkZHJlc3Moc2VuZGVyKSxcbiAgICAgIGV4cGlyYXRpb246IGV4cGlyYXRpb24gPyBleHBpcmF0aW9uIDogeyBOb25lOiB0cnVlIH0sXG4gICAgICBnYXNEYXRhOiB7XG4gICAgICAgIHBheW1lbnQ6IGdhc0NvbmZpZy5wYXltZW50LFxuICAgICAgICBvd25lcjogcHJlcGFyZVN1aUFkZHJlc3ModGhpcy5nYXNDb25maWcub3duZXIgPz8gc2VuZGVyKSxcbiAgICAgICAgcHJpY2U6IEJpZ0ludChnYXNDb25maWcucHJpY2UpLFxuICAgICAgICBidWRnZXQ6IEJpZ0ludChnYXNDb25maWcuYnVkZ2V0KSxcbiAgICAgIH0sXG4gICAgICBraW5kOiB7XG4gICAgICAgIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiB7XG4gICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gYnVpbGRlci5zZXIoJ1RyYW5zYWN0aW9uRGF0YScsIHsgVjE6IHRyYW5zYWN0aW9uRGF0YSB9LCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICB9XG5cbiAgZ2V0RGlnZXN0KCkge1xuICAgIGNvbnN0IGJ5dGVzID0gdGhpcy5idWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQ6IGZhbHNlIH0pO1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIuZ2V0RGlnZXN0RnJvbUJ5dGVzKGJ5dGVzKTtcbiAgfVxuXG4gIHNuYXBzaG90KCk6IFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyIHtcbiAgICByZXR1cm4gY3JlYXRlKHRoaXMsIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyKTtcbiAgfVxufVxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25EYXRhQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL215c3RlbmxhYi9idWlsZGVyL1RyYW5zYWN0aW9uRGF0YUJsb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFvQztBQUNwQyw2Q0FhcUI7QUFDckIsK0NBQXFEO0FBQ3JELG9DQUE2RDtBQUM3RCwrQkFBZ0M7QUFDaEMsaURBQXdFO0FBQ3hFLHFDQUF1RDtBQUN2RCxtQ0FBaUM7QUFFcEIsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLHNCQUFRLEVBQzNDLElBQUEsc0JBQVEsRUFDTixJQUFBLG1CQUFLLEVBQUM7SUFDSixJQUFBLG9CQUFNLEVBQUMsRUFBRSxLQUFLLEVBQUUsSUFBQSxxQkFBTyxHQUFFLEVBQUUsQ0FBQztJQUM1QixJQUFBLG9CQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsSUFBQSxtQkFBSyxFQUFDLENBQUMsSUFBQSxxQkFBTyxFQUFDLElBQUksQ0FBQyxFQUFFLElBQUEscUJBQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RCxJQUFBLG9CQUFNLEVBQUMsRUFBRSxXQUFXLEVBQUUsSUFBQSxvQkFBTSxFQUFDLEVBQUUsUUFBUSxFQUFFLElBQUEscUJBQU8sR0FBRSxFQUFFLFFBQVEsRUFBRSxJQUFBLHFCQUFPLEdBQUUsRUFBRSxLQUFLLEVBQUUsSUFBQSxvQkFBTSxHQUFFLEVBQUUsS0FBSyxFQUFFLElBQUEscUJBQU8sR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0NBQ2pILENBQUMsQ0FDSCxDQUNGLENBQUM7QUFHRixNQUFNLFVBQVUsR0FBRyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztBQUU1QixNQUFNLG1CQUFtQixHQUFHLElBQUEsb0JBQU0sRUFBUyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3hFLElBQUksQ0FBQyxDQUFDLFFBQVEs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Q0FBQyxNQUFNLENBQUM7YUFDakM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osdUJBQXVCLEVBQUU7b0JBQ3ZCLE1BQU07b0JBQ04sWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sYUFBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQ0FBeUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkgsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFBLGNBQU0sRUFBQyxJQUFJLEVBQUUsd0NBQWdDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUF6S0Qsa0VBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9CNTggfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQge1xuICBhcnJheSxcbiAgYXNzZXJ0LFxuICBkZWZpbmUsXG4gIEluZmVyLFxuICBpbnRlZ2VyLFxuICBpcyxcbiAgbGl0ZXJhbCxcbiAgbnVsbGFibGUsXG4gIG9iamVjdCxcbiAgb3B0aW9uYWwsXG4gIHN0cmluZyxcbiAgdW5pb24sXG59IGZyb20gJ3N1cGVyc3RydWN0JztcbmltcG9ydCB7IGhhc2hUeXBlZERhdGEgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvaGFzaCc7XG5pbXBvcnQgeyBub3JtYWxpemVTdWlBZGRyZXNzLCBTdWlPYmplY3RSZWYgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBidWlsZGVyIH0gZnJvbSAnLi9iY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBUcmFuc2FjdGlvbkJsb2NrSW5wdXQgfSBmcm9tICcuL1RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCdWlsZGVyQ2FsbEFyZywgUHVyZUNhbGxBcmcgfSBmcm9tICcuL0lucHV0cyc7XG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IG9wdGlvbmFsKFxuICBudWxsYWJsZShcbiAgICB1bmlvbihbXG4gICAgICBvYmplY3QoeyBFcG9jaDogaW50ZWdlcigpIH0pLFxuICAgICAgb2JqZWN0KHsgTm9uZTogdW5pb24oW2xpdGVyYWwodHJ1ZSksIGxpdGVyYWwobnVsbCldKSB9KSxcbiAgICAgIG9iamVjdCh7IFZhbGlkRHVyaW5nOiBvYmplY3QoeyBtaW5FcG9jaDogaW50ZWdlcigpLCBtYXhFcG9jaDogaW50ZWdlcigpLCBjaGFpbjogc3RyaW5nKCksIG5vbmNlOiBpbnRlZ2VyKCkgfSkgfSksXG4gICAgXSlcbiAgKVxuKTtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IEluZmVyPHR5cGVvZiBUcmFuc2FjdGlvbkV4cGlyYXRpb24+O1xuXG5jb25zdCBTdWlBZGRyZXNzID0gc3RyaW5nKCk7XG5cbmNvbnN0IFN0cmluZ0VuY29kZWRCaWdpbnQgPSBkZWZpbmU8c3RyaW5nPignU3RyaW5nRW5jb2RlZEJpZ2ludCcsICh2YWwpID0+IHtcbiAgaWYgKCFbJ3N0cmluZycsICdudW1iZXInLCAnYmlnaW50J10uaW5jbHVkZXModHlwZW9mIHZhbCkpIHJldHVybiBmYWxzZTtcblxuICB0cnkge1xuICAgIEJpZ0ludCh2YWwgYXMgc3RyaW5nKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59KTtcblxuY29uc3QgR2FzQ29uZmlnID0gb2JqZWN0KHtcbiAgYnVkZ2V0OiBvcHRpb25hbChTdHJpbmdFbmNvZGVkQmlnaW50KSxcbiAgcHJpY2U6IG9wdGlvbmFsKFN0cmluZ0VuY29kZWRCaWdpbnQpLFxuICBwYXltZW50OiBvcHRpb25hbChhcnJheShTdWlPYmplY3RSZWYpKSxcbiAgb3duZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxufSk7XG50eXBlIEdhc0NvbmZpZyA9IEluZmVyPHR5cGVvZiBHYXNDb25maWc+O1xuXG5leHBvcnQgY29uc3QgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBvYmplY3Qoe1xuICB2ZXJzaW9uOiBsaXRlcmFsKDEpLFxuICBzZW5kZXI6IG9wdGlvbmFsKFN1aUFkZHJlc3MpLFxuICBleHBpcmF0aW9uOiBUcmFuc2FjdGlvbkV4cGlyYXRpb24sXG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnLFxuICBpbnB1dHM6IGFycmF5KFRyYW5zYWN0aW9uQmxvY2tJbnB1dCksXG4gIHRyYW5zYWN0aW9uczogYXJyYXkoVHJhbnNhY3Rpb25UeXBlKSxcbn0pO1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIgPSBJbmZlcjx0eXBlb2YgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXI+O1xuXG5mdW5jdGlvbiBwcmVwYXJlU3VpQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVN1aUFkZHJlc3MoYWRkcmVzcykucmVwbGFjZSgnMHgnLCAnJyk7XG59XG5cbi8vIE5PVEU6IFRoaXMgdmFsdWUgc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGluXG4vLyBjcmF0ZXMvc3VpLXByb3RvY29sLWNvbmZpZy9zcmMvbGliLnJzXG5leHBvcnQgY29uc3QgVFJBTlNBQ1RJT05fREFUQV9NQVhfU0laRSA9IDEyOCAqIDEwMjQ7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIge1xuICBzdGF0aWMgZnJvbUtpbmRCeXRlcyhieXRlczogVWludDhBcnJheSkge1xuICAgIGNvbnN0IGtpbmQgPSBidWlsZGVyLmRlKCdUcmFuc2FjdGlvbktpbmQnLCBieXRlcyk7XG4gICAgY29uc3QgcHJvZ3JhbW1hYmxlVHggPSBraW5kPy5Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbjtcbiAgICBpZiAoIXByb2dyYW1tYWJsZVR4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXNlcmlhbGl6ZSBmcm9tIGJ5dGVzLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBjcmVhdGUoXG4gICAgICB7XG4gICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgIGdhc0NvbmZpZzoge30sXG4gICAgICAgIGlucHV0czogcHJvZ3JhbW1hYmxlVHguaW5wdXRzLm1hcCgodmFsdWU6IHVua25vd24sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgY3JlYXRlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBraW5kOiAnSW5wdXQnLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgIHR5cGU6IGlzKHZhbHVlLCBQdXJlQ2FsbEFyZykgPyAncHVyZScgOiAnb2JqZWN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBUcmFuc2FjdGlvbkJsb2NrSW5wdXRcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRyYW5zYWN0aW9uczogcHJvZ3JhbW1hYmxlVHgudHJhbnNhY3Rpb25zLFxuICAgICAgfSxcbiAgICAgIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyXG4gICAgKTtcblxuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIucmVzdG9yZShzZXJpYWxpemVkKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCByYXdEYXRhID0gYnVpbGRlci5kZSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIGNvbnN0IGRhdGEgPSByYXdEYXRhPy5WMTtcbiAgICBjb25zdCBwcm9ncmFtbWFibGVUeCA9IGRhdGE/LmtpbmQ/LlByb2dyYW1tYWJsZVRyYW5zYWN0aW9uO1xuICAgIGlmICghZGF0YSB8fCAhcHJvZ3JhbW1hYmxlVHgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRlc2VyaWFsaXplIGZyb20gYnl0ZXMuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IGNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgc2VuZGVyOiBkYXRhLnNlbmRlcixcbiAgICAgICAgZXhwaXJhdGlvbjogZGF0YS5leHBpcmF0aW9uLFxuICAgICAgICBnYXNDb25maWc6IGRhdGEuZ2FzRGF0YSxcbiAgICAgICAgaW5wdXRzOiBwcm9ncmFtbWFibGVUeC5pbnB1dHMubWFwKCh2YWx1ZTogdW5rbm93biwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgICBjcmVhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6ICdJbnB1dCcsXG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgdHlwZTogaXModmFsdWUsIFB1cmVDYWxsQXJnKSA/ICdwdXJlJyA6ICdvYmplY3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFRyYW5zYWN0aW9uQmxvY2tJbnB1dFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBwcm9ncmFtbWFibGVUeC50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgICAgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXJcbiAgICApO1xuXG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlci5yZXN0b3JlKHNlcmlhbGl6ZWQpO1xuICB9XG5cbiAgc3RhdGljIHJlc3RvcmUoZGF0YTogU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpIHtcbiAgICBhc3NlcnQoZGF0YSwgU2VyaWFsaXplZFRyYW5zYWN0aW9uRGF0YUJ1aWxkZXIpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IG5ldyBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIoKTtcbiAgICBPYmplY3QuYXNzaWduKHRyYW5zYWN0aW9uRGF0YSwgZGF0YSk7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0cmFuc2FjdGlvbiBkaWdlc3QuXG4gICAqXG4gICAqIEBwYXJhbSBieXRlcyBCQ1Mgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEByZXR1cm5zIHRyYW5zYWN0aW9uIGRpZ2VzdC5cbiAgICovXG4gIHN0YXRpYyBnZXREaWdlc3RGcm9tQnl0ZXMoYnl0ZXM6IFVpbnQ4QXJyYXkpIHtcbiAgICBjb25zdCBoYXNoID0gaGFzaFR5cGVkRGF0YSgnVHJhbnNhY3Rpb25EYXRhJywgYnl0ZXMpO1xuICAgIHJldHVybiB0b0I1OChoYXNoKTtcbiAgfVxuXG4gIHZlcnNpb24gPSAxIGFzIGNvbnN0O1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb24/OiBUcmFuc2FjdGlvbkV4cGlyYXRpb247XG4gIGdhc0NvbmZpZzogR2FzQ29uZmlnO1xuICBpbnB1dHM6IFRyYW5zYWN0aW9uQmxvY2tJbnB1dFtdO1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uVHlwZVtdO1xuXG4gIGNvbnN0cnVjdG9yKGNsb25lPzogVHJhbnNhY3Rpb25CbG9ja0RhdGFCdWlsZGVyKSB7XG4gICAgdGhpcy5zZW5kZXIgPSBjbG9uZT8uc2VuZGVyO1xuICAgIHRoaXMuZXhwaXJhdGlvbiA9IGNsb25lPy5leHBpcmF0aW9uO1xuICAgIHRoaXMuZ2FzQ29uZmlnID0gY2xvbmU/Lmdhc0NvbmZpZyA/PyB7fTtcbiAgICB0aGlzLmlucHV0cyA9IGNsb25lPy5pbnB1dHMgPz8gW107XG4gICAgdGhpcy50cmFuc2FjdGlvbnMgPSBjbG9uZT8udHJhbnNhY3Rpb25zID8/IFtdO1xuICB9XG5cbiAgYnVpbGQoe1xuICAgIG92ZXJyaWRlcyxcbiAgICBvbmx5VHJhbnNhY3Rpb25LaW5kLFxuICB9OiB7XG4gICAgb3ZlcnJpZGVzPzogUGljazxQYXJ0aWFsPFRyYW5zYWN0aW9uQmxvY2tEYXRhQnVpbGRlcj4sICdzZW5kZXInIHwgJ2dhc0NvbmZpZycgfCAnZXhwaXJhdGlvbic+O1xuICAgIG9ubHlUcmFuc2FjdGlvbktpbmQ/OiBib29sZWFuO1xuICB9ID0ge30pIHtcbiAgICAvLyBSZXNvbHZlIGlucHV0cyBkb3duIHRvIHZhbHVlczpcbiAgICBjb25zdCBpbnB1dHMgPSB0aGlzLmlucHV0cy5tYXAoKGlucHV0KSA9PiB7XG4gICAgICBhc3NlcnQoaW5wdXQudmFsdWUsIEJ1aWxkZXJDYWxsQXJnKTtcbiAgICAgIHJldHVybiBpbnB1dC52YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGtpbmQgPSB7XG4gICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjoge1xuICAgICAgICBpbnB1dHMsXG4gICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAob25seVRyYW5zYWN0aW9uS2luZCkge1xuICAgICAgcmV0dXJuIGJ1aWxkZXIuc2VyKCdUcmFuc2FjdGlvbktpbmQnLCBraW5kLCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBvdmVycmlkZXM/LmV4cGlyYXRpb24gPz8gdGhpcy5leHBpcmF0aW9uO1xuICAgIGNvbnN0IHNlbmRlciA9IG92ZXJyaWRlcz8uc2VuZGVyID8/IHRoaXMuc2VuZGVyO1xuICAgIGNvbnN0IGdhc0NvbmZpZyA9IHsgLi4udGhpcy5nYXNDb25maWcsIC4uLm92ZXJyaWRlcz8uZ2FzQ29uZmlnIH07XG5cbiAgICBpZiAoIXNlbmRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHRyYW5zYWN0aW9uIHNlbmRlcicpO1xuICAgIH1cblxuICAgIGlmICghZ2FzQ29uZmlnLmJ1ZGdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBidWRnZXQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wYXltZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZ2FzIHBheW1lbnQnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdhc0NvbmZpZy5wcmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGdhcyBwcmljZScpO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGF0YSA9IHtcbiAgICAgIHNlbmRlcjogcHJlcGFyZVN1aUFkZHJlc3Moc2VuZGVyKSxcbiAgICAgIGV4cGlyYXRpb246IGV4cGlyYXRpb24gPyBleHBpcmF0aW9uIDogeyBOb25lOiB0cnVlIH0sXG4gICAgICBnYXNEYXRhOiB7XG4gICAgICAgIHBheW1lbnQ6IGdhc0NvbmZpZy5wYXltZW50LFxuICAgICAgICBvd25lcjogcHJlcGFyZVN1aUFkZHJlc3ModGhpcy5nYXNDb25maWcub3duZXIgPz8gc2VuZGVyKSxcbiAgICAgICAgcHJpY2U6IEJpZ0ludChnYXNDb25maWcucHJpY2UpLFxuICAgICAgICBidWRnZXQ6IEJpZ0ludChnYXNDb25maWcuYnVkZ2V0KSxcbiAgICAgIH0sXG4gICAgICBraW5kOiB7XG4gICAgICAgIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiB7XG4gICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gYnVpbGRlci5zZXIoJ1RyYW5zYWN0aW9uRGF0YScsIHsgVjE6IHRyYW5zYWN0aW9uRGF0YSB9LCB7IG1heFNpemU6IFRSQU5TQUNUSU9OX0RBVEFfTUFYX1NJWkUgfSkudG9CeXRlcygpO1xuICB9XG5cbiAgZ2V0RGlnZXN0KCkge1xuICAgIGNvbnN0IGJ5dGVzID0gdGhpcy5idWlsZCh7IG9ubHlUcmFuc2FjdGlvbktpbmQ6IGZhbHNlIH0pO1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJsb2NrRGF0YUJ1aWxkZXIuZ2V0RGlnZXN0RnJvbUJ5dGVzKGJ5dGVzKTtcbiAgfVxuXG4gIHNuYXBzaG90KCk6IFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyIHtcbiAgICByZXR1cm4gY3JlYXRlKHRoaXMsIFNlcmlhbGl6ZWRUcmFuc2FjdGlvbkRhdGFCdWlsZGVyKTtcbiAgfVxufVxuIl19
@@ -62,15 +62,17 @@ export type PaginatedCoins = Infer<typeof PaginatedCoins>;
62
62
  export declare const CoinBalance: import("superstruct").Struct<{
63
63
  coinType: string;
64
64
  coinObjectCount: number;
65
- totalBalance: number;
65
+ totalBalance: string;
66
66
  lockedBalance: {
67
67
  number?: number | undefined;
68
68
  epochId?: number | undefined;
69
69
  };
70
+ fundsInAddressBalance?: string | undefined;
70
71
  }, {
71
72
  coinType: import("superstruct").Struct<string, null>;
72
73
  coinObjectCount: import("superstruct").Struct<number, null>;
73
- totalBalance: import("superstruct").Struct<number, null>;
74
+ totalBalance: import("superstruct").Struct<string, null>;
75
+ fundsInAddressBalance: import("superstruct").Struct<string | undefined, null>;
74
76
  lockedBalance: import("superstruct").Struct<{
75
77
  number?: number | undefined;
76
78
  epochId?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"coin.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/types/coin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAA8D,MAAM,aAAa,CAAC;AAGhH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAQrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;EAErB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"coin.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/types/coin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAA8D,MAAM,aAAa,CAAC;AAGhH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAQrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;EAStB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;EAErB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -20,7 +20,8 @@ exports.PaginatedCoins = (0, superstruct_1.object)({
20
20
  exports.CoinBalance = (0, superstruct_1.object)({
21
21
  coinType: (0, superstruct_1.string)(),
22
22
  coinObjectCount: (0, superstruct_1.number)(),
23
- totalBalance: (0, superstruct_1.number)(),
23
+ totalBalance: (0, superstruct_1.string)(),
24
+ fundsInAddressBalance: (0, superstruct_1.optional)((0, superstruct_1.string)()),
24
25
  lockedBalance: (0, superstruct_1.object)({
25
26
  epochId: (0, superstruct_1.optional)((0, superstruct_1.number)()),
26
27
  number: (0, superstruct_1.optional)((0, superstruct_1.number)()),
@@ -29,4 +30,4 @@ exports.CoinBalance = (0, superstruct_1.object)({
29
30
  exports.CoinSupply = (0, superstruct_1.object)({
30
31
  value: (0, superstruct_1.number)(),
31
32
  });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R5cGVzL2NvaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQWdIO0FBQ2hILHFDQUF1RDtBQUUxQyxRQUFBLFVBQVUsR0FBRyxJQUFBLG9CQUFNLEVBQUM7SUFDL0IsUUFBUSxFQUFFLElBQUEsb0JBQU0sR0FBRTtJQUNsQixZQUFZLEVBQUUsaUJBQVE7SUFDdEIsT0FBTyxFQUFFLElBQUEsb0JBQU0sR0FBRTtJQUNqQixNQUFNLEVBQUUsMEJBQWlCO0lBQ3pCLE9BQU8sRUFBRSxJQUFBLG9CQUFNLEdBQUU7SUFDakIsZ0JBQWdCLEVBQUUsSUFBQSxzQkFBUSxFQUFDLElBQUEsb0JBQU0sR0FBRSxDQUFDO0lBQ3BDLG1CQUFtQixFQUFFLDBCQUFpQjtDQUN2QyxDQUFDLENBQUM7QUFJVSxRQUFBLGNBQWMsR0FBRyxJQUFBLG9CQUFNLEVBQUM7SUFDbkMsSUFBSSxFQUFFLElBQUEsbUJBQUssRUFBQyxrQkFBVSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxpQkFBUSxFQUFFLElBQUEscUJBQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVDLFdBQVcsRUFBRSxJQUFBLHFCQUFPLEdBQUU7Q0FDdkIsQ0FBQyxDQUFDO0FBSVUsUUFBQSxXQUFXLEdBQUcsSUFBQSxvQkFBTSxFQUFDO0lBQ2hDLFFBQVEsRUFBRSxJQUFBLG9CQUFNLEdBQUU7SUFDbEIsZUFBZSxFQUFFLElBQUEsb0JBQU0sR0FBRTtJQUN6QixZQUFZLEVBQUUsSUFBQSxvQkFBTSxHQUFFO0lBQ3RCLGFBQWEsRUFBRSxJQUFBLG9CQUFNLEVBQUM7UUFDcEIsT0FBTyxFQUFFLElBQUEsc0JBQVEsRUFBQyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztRQUMzQixNQUFNLEVBQUUsSUFBQSxzQkFBUSxFQUFDLElBQUEsb0JBQU0sR0FBRSxDQUFDO0tBQzNCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFJVSxRQUFBLFVBQVUsR0FBRyxJQUFBLG9CQUFNLEVBQUM7SUFDL0IsS0FBSyxFQUFFLElBQUEsb0JBQU0sR0FBRTtDQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcnJheSwgYm9vbGVhbiwgSW5mZXIsIGxpdGVyYWwsIG51bGxhYmxlLCBudW1iZXIsIG9iamVjdCwgb3B0aW9uYWwsIHN0cmluZywgdW5pb24gfSBmcm9tICdzdXBlcnN0cnVjdCc7XG5pbXBvcnQgeyBPYmplY3RJZCwgVHJhbnNhY3Rpb25EaWdlc3QgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBDb2luU3RydWN0ID0gb2JqZWN0KHtcbiAgY29pblR5cGU6IHN0cmluZygpLFxuICBjb2luT2JqZWN0SWQ6IE9iamVjdElkLFxuICB2ZXJzaW9uOiBudW1iZXIoKSxcbiAgZGlnZXN0OiBUcmFuc2FjdGlvbkRpZ2VzdCxcbiAgYmFsYW5jZTogbnVtYmVyKCksXG4gIGxvY2tlZFVudGlsRXBvY2g6IG51bGxhYmxlKG51bWJlcigpKSxcbiAgcHJldmlvdXNUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25EaWdlc3QsXG59KTtcblxuZXhwb3J0IHR5cGUgQ29pblN0cnVjdCA9IEluZmVyPHR5cGVvZiBDb2luU3RydWN0PjtcblxuZXhwb3J0IGNvbnN0IFBhZ2luYXRlZENvaW5zID0gb2JqZWN0KHtcbiAgZGF0YTogYXJyYXkoQ29pblN0cnVjdCksXG4gIG5leHRDdXJzb3I6IHVuaW9uKFtPYmplY3RJZCwgbGl0ZXJhbChudWxsKV0pLFxuICBoYXNOZXh0UGFnZTogYm9vbGVhbigpLFxufSk7XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRlZENvaW5zID0gSW5mZXI8dHlwZW9mIFBhZ2luYXRlZENvaW5zPjtcblxuZXhwb3J0IGNvbnN0IENvaW5CYWxhbmNlID0gb2JqZWN0KHtcbiAgY29pblR5cGU6IHN0cmluZygpLFxuICBjb2luT2JqZWN0Q291bnQ6IG51bWJlcigpLFxuICB0b3RhbEJhbGFuY2U6IG51bWJlcigpLFxuICBsb2NrZWRCYWxhbmNlOiBvYmplY3Qoe1xuICAgIGVwb2NoSWQ6IG9wdGlvbmFsKG51bWJlcigpKSxcbiAgICBudW1iZXI6IG9wdGlvbmFsKG51bWJlcigpKSxcbiAgfSksXG59KTtcblxuZXhwb3J0IHR5cGUgQ29pbkJhbGFuY2UgPSBJbmZlcjx0eXBlb2YgQ29pbkJhbGFuY2U+O1xuXG5leHBvcnQgY29uc3QgQ29pblN1cHBseSA9IG9iamVjdCh7XG4gIHZhbHVlOiBudW1iZXIoKSxcbn0pO1xuXG5leHBvcnQgdHlwZSBDb2luU3VwcGx5ID0gSW5mZXI8dHlwZW9mIENvaW5TdXBwbHk+O1xuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R5cGVzL2NvaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQWdIO0FBQ2hILHFDQUF1RDtBQUUxQyxRQUFBLFVBQVUsR0FBRyxJQUFBLG9CQUFNLEVBQUM7SUFDL0IsUUFBUSxFQUFFLElBQUEsb0JBQU0sR0FBRTtJQUNsQixZQUFZLEVBQUUsaUJBQVE7SUFDdEIsT0FBTyxFQUFFLElBQUEsb0JBQU0sR0FBRTtJQUNqQixNQUFNLEVBQUUsMEJBQWlCO0lBQ3pCLE9BQU8sRUFBRSxJQUFBLG9CQUFNLEdBQUU7SUFDakIsZ0JBQWdCLEVBQUUsSUFBQSxzQkFBUSxFQUFDLElBQUEsb0JBQU0sR0FBRSxDQUFDO0lBQ3BDLG1CQUFtQixFQUFFLDBCQUFpQjtDQUN2QyxDQUFDLENBQUM7QUFJVSxRQUFBLGNBQWMsR0FBRyxJQUFBLG9CQUFNLEVBQUM7SUFDbkMsSUFBSSxFQUFFLElBQUEsbUJBQUssRUFBQyxrQkFBVSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxJQUFBLG1CQUFLLEVBQUMsQ0FBQyxpQkFBUSxFQUFFLElBQUEscUJBQU8sRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVDLFdBQVcsRUFBRSxJQUFBLHFCQUFPLEdBQUU7Q0FDdkIsQ0FBQyxDQUFDO0FBSVUsUUFBQSxXQUFXLEdBQUcsSUFBQSxvQkFBTSxFQUFDO0lBQ2hDLFFBQVEsRUFBRSxJQUFBLG9CQUFNLEdBQUU7SUFDbEIsZUFBZSxFQUFFLElBQUEsb0JBQU0sR0FBRTtJQUN6QixZQUFZLEVBQUUsSUFBQSxvQkFBTSxHQUFFO0lBQ3RCLHFCQUFxQixFQUFFLElBQUEsc0JBQVEsRUFBQyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztJQUN6QyxhQUFhLEVBQUUsSUFBQSxvQkFBTSxFQUFDO1FBQ3BCLE9BQU8sRUFBRSxJQUFBLHNCQUFRLEVBQUMsSUFBQSxvQkFBTSxHQUFFLENBQUM7UUFDM0IsTUFBTSxFQUFFLElBQUEsc0JBQVEsRUFBQyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztLQUMzQixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBSVUsUUFBQSxVQUFVLEdBQUcsSUFBQSxvQkFBTSxFQUFDO0lBQy9CLEtBQUssRUFBRSxJQUFBLG9CQUFNLEdBQUU7Q0FDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXJyYXksIGJvb2xlYW4sIEluZmVyLCBsaXRlcmFsLCBudWxsYWJsZSwgbnVtYmVyLCBvYmplY3QsIG9wdGlvbmFsLCBzdHJpbmcsIHVuaW9uIH0gZnJvbSAnc3VwZXJzdHJ1Y3QnO1xuaW1wb3J0IHsgT2JqZWN0SWQsIFRyYW5zYWN0aW9uRGlnZXN0IH0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgQ29pblN0cnVjdCA9IG9iamVjdCh7XG4gIGNvaW5UeXBlOiBzdHJpbmcoKSxcbiAgY29pbk9iamVjdElkOiBPYmplY3RJZCxcbiAgdmVyc2lvbjogbnVtYmVyKCksXG4gIGRpZ2VzdDogVHJhbnNhY3Rpb25EaWdlc3QsXG4gIGJhbGFuY2U6IG51bWJlcigpLFxuICBsb2NrZWRVbnRpbEVwb2NoOiBudWxsYWJsZShudW1iZXIoKSksXG4gIHByZXZpb3VzVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uRGlnZXN0LFxufSk7XG5cbmV4cG9ydCB0eXBlIENvaW5TdHJ1Y3QgPSBJbmZlcjx0eXBlb2YgQ29pblN0cnVjdD47XG5cbmV4cG9ydCBjb25zdCBQYWdpbmF0ZWRDb2lucyA9IG9iamVjdCh7XG4gIGRhdGE6IGFycmF5KENvaW5TdHJ1Y3QpLFxuICBuZXh0Q3Vyc29yOiB1bmlvbihbT2JqZWN0SWQsIGxpdGVyYWwobnVsbCldKSxcbiAgaGFzTmV4dFBhZ2U6IGJvb2xlYW4oKSxcbn0pO1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0ZWRDb2lucyA9IEluZmVyPHR5cGVvZiBQYWdpbmF0ZWRDb2lucz47XG5cbmV4cG9ydCBjb25zdCBDb2luQmFsYW5jZSA9IG9iamVjdCh7XG4gIGNvaW5UeXBlOiBzdHJpbmcoKSxcbiAgY29pbk9iamVjdENvdW50OiBudW1iZXIoKSxcbiAgdG90YWxCYWxhbmNlOiBzdHJpbmcoKSxcbiAgZnVuZHNJbkFkZHJlc3NCYWxhbmNlOiBvcHRpb25hbChzdHJpbmcoKSksXG4gIGxvY2tlZEJhbGFuY2U6IG9iamVjdCh7XG4gICAgZXBvY2hJZDogb3B0aW9uYWwobnVtYmVyKCkpLFxuICAgIG51bWJlcjogb3B0aW9uYWwobnVtYmVyKCkpLFxuICB9KSxcbn0pO1xuXG5leHBvcnQgdHlwZSBDb2luQmFsYW5jZSA9IEluZmVyPHR5cGVvZiBDb2luQmFsYW5jZT47XG5cbmV4cG9ydCBjb25zdCBDb2luU3VwcGx5ID0gb2JqZWN0KHtcbiAgdmFsdWU6IG51bWJlcigpLFxufSk7XG5cbmV4cG9ydCB0eXBlIENvaW5TdXBwbHkgPSBJbmZlcjx0eXBlb2YgQ29pblN1cHBseT47XG4iXX0=
@@ -51,6 +51,11 @@ export declare function isPureArg(arg: any): arg is PureArg;
51
51
  */
52
52
  export type CallArg = PureArg | {
53
53
  Object: ObjectArg;
54
+ } | {
55
+ BalanceWithdrawal: {
56
+ amount: bigint | number;
57
+ type_: TypeTag;
58
+ };
54
59
  };
55
60
  /**
56
61
  * Kind of a TypeTag which is represented by a Move type identifier.
@@ -96,6 +101,17 @@ export type GasData = {
96
101
  price: number;
97
102
  budget: number;
98
103
  };
104
+ /**
105
+ * ValidDuring expiration — used when gasData.payment is empty (address-balance-funded gas).
106
+ * Both minEpoch and maxEpoch must be set; maxEpoch must equal minEpoch or minEpoch + 1.
107
+ * The nonce (u32) prevents duplicate transaction digests across same-epoch builds.
108
+ */
109
+ export type ValidDuringExpiration = {
110
+ minEpoch: number;
111
+ maxEpoch: number;
112
+ chain: string;
113
+ nonce: number;
114
+ };
99
115
  /**
100
116
  * TransactionExpiration
101
117
  *
@@ -105,6 +121,8 @@ export type TransactionExpiration = {
105
121
  None: null;
106
122
  } | {
107
123
  Epoch: number;
124
+ } | {
125
+ ValidDuring: ValidDuringExpiration;
108
126
  };
109
127
  declare const bcs: BCS;
110
128
  export { bcs };
@@ -1 +1 @@
1
- {"version":3,"file":"sui-bcs.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/types/sui-bcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA8D,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAgBzC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IAEjB,2CAA2C;IAC3C,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,UAAU,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAElD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAInB;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAkGvE,QAAA,MAAM,GAAG,KAAsD,CAAC;AAGhE,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"sui-bcs.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/types/sui-bcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA8D,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAgBzC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IAEjB,2CAA2C;IAC3C,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,UAAU,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAElD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,iBAAiB,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC;AAE3H;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAInB;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,qBAAqB,CAAA;CAAE,CAAC;AA8GhH,QAAA,MAAM,GAAG,KAAsD,CAAC;AAGhE,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -37,6 +37,7 @@ const BCS_SPEC = {
37
37
  Pure: [VECTOR, bcs_1.BCS.U8],
38
38
  Object: 'ObjectArg',
39
39
  ObjVec: [VECTOR, 'ObjectArg'],
40
+ BalanceWithdrawal: 'BalanceWithdrawal',
40
41
  },
41
42
  TypeTag: {
42
43
  bool: null,
@@ -62,12 +63,23 @@ const BCS_SPEC = {
62
63
  TransactionExpiration: {
63
64
  None: null,
64
65
  Epoch: bcs_1.BCS.U64,
66
+ ValidDuring: 'ValidDuringExpiration',
65
67
  },
66
68
  TransactionData: {
67
69
  V1: 'TransactionDataV1',
68
70
  },
69
71
  },
70
72
  structs: {
73
+ BalanceWithdrawal: {
74
+ amount: bcs_1.BCS.U64,
75
+ type_: 'TypeTag',
76
+ },
77
+ ValidDuringExpiration: {
78
+ minEpoch: bcs_1.BCS.U64,
79
+ maxEpoch: bcs_1.BCS.U64,
80
+ chain: bcs_1.BCS.STRING,
81
+ nonce: bcs_1.BCS.U32,
82
+ },
71
83
  SuiObjectRef: {
72
84
  objectId: bcs_1.BCS.ADDRESS,
73
85
  version: bcs_1.BCS.U64,
@@ -104,4 +116,4 @@ const BCS_SPEC = {
104
116
  const bcs = new bcs_1.BCS({ ...(0, bcs_1.getSuiMoveConfig)(), types: BCS_SPEC });
105
117
  exports.bcs = bcs;
106
118
  registerUTF8String(bcs);
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VpLWJjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R5cGVzL3N1aS1iY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUNBLDhCQUVDO0FBM0NELHFDQUE4RjtBQUc5RixTQUFTLGtCQUFrQixDQUFDLEdBQVE7SUFDbEMsR0FBRyxDQUFDLFlBQVksQ0FDZCxZQUFZLEVBQ1osQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDZCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDLEVBQ0QsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNULE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUM7QUEwQkQsU0FBZ0IsU0FBUyxDQUFDLEdBQVE7SUFDaEMsT0FBUSxHQUFlLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztBQUM3QyxDQUFDO0FBd0VELGdDQUFnQztBQUNoQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFTeEIsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLE1BQU0sRUFBRSxTQUFHLENBQUMsT0FB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dmVDb25maWcsIFN0cnVjdFR5cGVEZWZpbml0aW9uIH0gZnJvbSAnQG15c3Rlbi9iY3MnO1xuaW1wb3J0IHsgU3VpT2JqZWN0UmVmIH0gZnJvbSAnLi9vYmplY3RzJztcblxuZnVuY3Rpb24gcmVnaXN0ZXJVVEY4U3RyaW5nKGJjczogQkNTKSB7XG4gIGJjcy5yZWdpc3RlclR5cGUoXG4gICAgJ3V0ZjhzdHJpbmcnLFxuICAgICh3cml0ZXIsIHN0cikgPT4ge1xuICAgICAgY29uc3QgYnl0ZXMgPSBBcnJheS5mcm9tKG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShzdHIpKTtcbiAgICAgIHJldHVybiB3cml0ZXIud3JpdGVWZWMoYnl0ZXMsICh3cml0ZXIsIGVsKSA9PiB3cml0ZXIud3JpdGU4KGVsKSk7XG4gICAgfSxcbiAgICAocmVhZGVyKSA9PiB7XG4gICAgICBjb25zdCBieXRlcyA9IHJlYWRlci5yZWFkVmVjKChyZWFkZXIpID0+IHJlYWRlci5yZWFkOCgpKTtcbiAgICAgIHJldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoYnl0ZXMpKTtcbiAgICB9XG4gICk7XG59XG5cbi8qKlxuICogQSByZWZlcmVuY2UgdG8gYSBzaGFyZWQgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBTaGFyZWRPYmplY3RSZWYgPSB7XG4gIC8qKiBIZXggY29kZSBhcyBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBvYmplY3QgaWQgKi9cbiAgb2JqZWN0SWQ6IHN0cmluZztcblxuICAvKiogVGhlIHZlcnNpb24gdGhlIG9iamVjdCB3YXMgc2hhcmVkIGF0ICovXG4gIGluaXRpYWxTaGFyZWRWZXJzaW9uOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgcmVmZXJlbmNlIGlzIG11dGFibGUgKi9cbiAgbXV0YWJsZTogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQW4gb2JqZWN0IGFyZ3VtZW50LlxuICovXG5leHBvcnQgdHlwZSBPYmplY3RBcmcgPSB7IEltbU9yT3duZWQ6IFN1aU9iamVjdFJlZiB9IHwgeyBTaGFyZWQ6IFNoYXJlZE9iamVjdFJlZiB9O1xuXG4vKipcbiAqIEEgcHVyZSBhcmd1bWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUHVyZUFyZyA9IHsgUHVyZTogQXJyYXlMaWtlPG51bWJlcj4gfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHVyZUFyZyhhcmc6IGFueSk6IGFyZyBpcyBQdXJlQXJnIHtcbiAgcmV0dXJuIChhcmcgYXMgUHVyZUFyZykuUHVyZSAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEFuIGFyZ3VtZW50IGZvciB0aGUgdHJhbnNhY3Rpb24uIEl0IGlzIGEgJ21lYW50JyBlbnVtIHdoaWNoIGV4cGVjdHMgdG8gaGF2ZVxuICogb25lIG9mIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzLiBJZiBub3QsIHRoZSBCQ1MgZXJyb3Igd2lsbCBiZSB0aHJvd24gd2hpbGVcbiAqIGF0dGVtcHRpbmcgdG8gZm9ybSBhIHRyYW5zYWN0aW9uLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGBqc1xuICogbGV0IGFyZzE6IENhbGxBcmcgPSB7IE9iamVjdDogeyBTaGFyZWQ6IHtcbiAqICAgb2JqZWN0SWQ6ICc1NDYwY2Y5MmI1ZTNlNzA2N2FhYWNlNjBkODgzMjQwOTVmZDIyOTQ0JyxcbiAqICAgaW5pdGlhbFNoYXJlZFZlcnNpb246IDEsXG4gKiAgIG11dGFibGU6IHRydWUsXG4gKiB9IH0gfTtcbiAqIGxldCBhcmcyOiBDYWxsQXJnID0geyBQdXJlOiBiY3Muc2VyKEJDUy5TVFJJTkcsIDEwMDAwMCkudG9CeXRlcygpIH07XG4gKiBsZXQgYXJnMzogQ2FsbEFyZyA9IHsgT2JqZWN0OiB7IEltbU9yT3duZWQ6IHtcbiAqICAgb2JqZWN0SWQ6ICc0MDQ3ZDJlMjUyMTFkODc5MjJiNjY1MDIzM2JkMDUwM2E2NzM0Mjc5JyxcbiAqICAgdmVyc2lvbjogMSxcbiAqICAgZGlnZXN0OiAnYkNpQU5DaHQ0TzlNRVVodVlqZFJDcVJQWmpyMnJKOE1mcU5pd3lobVJnQT0nXG4gKiB9IH0gfTtcbiAqIGBgYFxuICpcbiAqIEZvciBgUHVyZWAgYXJndW1lbnRzIEJDUyBpcyByZXF1aXJlZC4gWW91IG11c3QgZW5jb2RlIHRoZSB2YWx1ZXMgd2l0aCBCQ1MgYWNjb3JkaW5nXG4gKiB0byB0aGUgdHlwZSByZXF1aXJlZCBieSB0aGUgY2FsbGVkIGZ1bmN0aW9uLiBQdXJlIGFjY2VwdHMgb25seSBzZXJpYWxpemVkIHZhbHVlc1xuICovXG5leHBvcnQgdHlwZSBDYWxsQXJnID0gUHVyZUFyZyB8IHsgT2JqZWN0OiBPYmplY3RBcmcgfTtcblxuLyoqXG4gKiBLaW5kIG9mIGEgVHlwZVRhZyB3aGljaCBpcyByZXByZXNlbnRlZCBieSBhIE1vdmUgdHlwZSBpZGVudGlmaWVyLlxuICovXG5leHBvcnQgdHlwZSBTdHJ1Y3RUYWcgPSB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgbW9kdWxlOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZVBhcmFtczogVHlwZVRhZ1tdO1xufTtcblxuLyoqXG4gKiBTdWkgVHlwZVRhZyBvYmplY3QuIEEgZGVjb3VwbGVkIGAweC4uLjo6bW9kdWxlOjpUeXBlPD8/Pz5gIHBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IHR5cGUgVHlwZVRhZyA9XG4gIHwgeyBib29sOiBudWxsIH1cbiAgfCB7IHU4OiBudWxsIH1cbiAgfCB7IHU2NDogbnVsbCB9XG4gIHwgeyB1MTI4OiBudWxsIH1cbiAgfCB7IGFkZHJlc3M6IG51bGwgfVxuICB8IHsgc2lnbmVyOiBudWxsIH1cbiAgfCB7IHZlY3RvcjogVHlwZVRhZyB9XG4gIHwgeyBzdHJ1Y3Q6IFN0cnVjdFRhZyB9XG4gIHwgeyB1MTY6IG51bGwgfVxuICB8IHsgdTMyOiBudWxsIH1cbiAgfCB7IHUyNTY6IG51bGwgfTtcblxuLy8gPT09PT09PT09PSBUcmFuc2FjdGlvbkRhdGEgPT09PT09PT09PT1cblxuLyoqXG4gKiBUaGUgR2FzRGF0YSB0byBiZSB1c2VkIGluIHRoZSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2FzRGF0YSA9IHtcbiAgcGF5bWVudDogU3VpT2JqZWN0UmVmW107XG4gIG93bmVyOiBzdHJpbmc7IC8vIEdhcyBPYmplY3QncyBvd25lclxuICBwcmljZTogbnVtYmVyO1xuICBidWRnZXQ6IG51bWJlcjtcbn07XG5cbi8qKlxuICogVHJhbnNhY3Rpb25FeHBpcmF0aW9uXG4gKlxuICogSW5kaWNhdGlvbnMgdGhlIGV4cGlyYXRpb24gdGltZSBmb3IgYSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25FeHBpcmF0aW9uID0geyBOb25lOiBudWxsIH0gfCB7IEVwb2NoOiBudW1iZXIgfTtcblxuLy8gTW92ZSBuYW1lIG9mIHRoZSBWZWN0b3IgdHlwZS5cbmNvbnN0IFZFQ1RPUiA9ICd2ZWN0b3InO1xuXG4vLyBJbXBvcnRlZCB0byBleHBsaWNpdGx5IHRlbGwgdHlwZXNjcmlwdCB0aGF0IHR5cGVzIG1hdGNoXG50eXBlIFR5cGVTY2hlbWEgPSB7XG4gIHN0cnVjdHM/OiB7IFtrZXk6IHN0cmluZ106IFN0cnVjdFR5cGVEZWZpbml0aW9uIH07XG4gIGVudW1zPzogeyBba2V5OiBzdHJpbmddOiBFbnVtVHlwZURlZmluaXRpb24gfTtcbiAgYWxpYXNlcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59O1xuXG5jb25zdCBUcmFuc2FjdGlvbkRhdGFWMSA9IHtcbiAga2luZDogJ1RyYW5zYWN0aW9uS2luZCcsXG4gIHNlbmRlcjogQkNTLkFERFJFU1MsXG4gIGdhc0RhdGE6ICdHYXNEYXRhJyxcbiAgZXhwaXJhdGlvbjogJ1RyYW5zYWN0aW9uRXhwaXJhdGlvbicsXG59O1xuXG5jb25zdCBCQ1NfU1BFQzogVHlwZVNjaGVtYSA9IHtcbiAgZW51bXM6IHtcbiAgICAnT3B0aW9uPFQ+Jzoge1xuICAgICAgTm9uZTogbnVsbCxcbiAgICAgIFNvbWU6ICdUJyxcbiAgICB9LFxuICAgIE9iamVjdEFyZzoge1xuICAgICAgSW1tT3JPd25lZDogJ1N1aU9iamVjdFJlZicsXG4gICAgICBTaGFyZWQ6ICdTaGFyZWRPYmplY3RSZWYnLFxuICAgIH0sXG4gICAgQ2FsbEFyZzoge1xuICAgICAgUHVyZTogW1ZFQ1RPUiwgQkNTLlU4XSxcbiAgICAgIE9iamVjdDogJ09iamVjdEFyZycsXG4gICAgICBPYmpWZWM6IFtWRUNUT1IsICdPYmplY3RBcmcnXSxcbiAgICB9LFxuICAgIFR5cGVUYWc6IHtcbiAgICAgIGJvb2w6IG51bGwsXG4gICAgICB1ODogbnVsbCxcbiAgICAgIHU2NDogbnVsbCxcbiAgICAgIHUxMjg6IG51bGwsXG4gICAgICBhZGRyZXNzOiBudWxsLFxuICAgICAgc2lnbmVyOiBudWxsLFxuICAgICAgdmVjdG9yOiAnVHlwZVRhZycsXG4gICAgICBzdHJ1Y3Q6ICdTdHJ1Y3RUYWcnLFxuICAgICAgdTE2OiBudWxsLFxuICAgICAgdTMyOiBudWxsLFxuICAgICAgdTI1NjogbnVsbCxcbiAgICB9LFxuICAgIFRyYW5zYWN0aW9uS2luZDoge1xuICAgICAgLy8gY2FuIG5vdCBiZSBjYWxsZWQgZnJvbSBzdWkuanM7IGR1bW15IHBsYWNlbWVudFxuICAgICAgLy8gdG8gc2V0IHRoZSBlbnVtIGNvdW50ZXIgcmlnaHQgZm9yIFByb2dyYW1tYWJsZVRyYW5zYWN0XG4gICAgICBQcm9ncmFtbWFibGVUcmFuc2FjdGlvbjogJ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uJyxcbiAgICAgIENoYW5nZUVwb2NoOiBudWxsLFxuICAgICAgR2VuZXNpczogbnVsbCxcbiAgICAgIENvbnNlbnN1c0NvbW1pdFByb2xvZ3VlOiBudWxsLFxuICAgIH0sXG4gICAgVHJhbnNhY3Rpb25FeHBpcmF0aW9uOiB7XG4gICAgICBOb25lOiBudWxsLFxuICAgICAgRXBvY2g6IEJDUy5VNjQsXG4gICAgfSxcbiAgICBUcmFuc2FjdGlvbkRhdGE6IHtcbiAgICAgIFYxOiAnVHJhbnNhY3Rpb25EYXRhVjEnLFxuICAgIH0sXG4gIH0sXG4gIHN0cnVjdHM6IHtcbiAgICBTdWlPYmplY3RSZWY6IHtcbiAgICAgIG9iamVjdElkOiBCQ1MuQUREUkVTUyxcbiAgICAgIHZlcnNpb246IEJDUy5VNjQsXG4gICAgICBkaWdlc3Q6ICdPYmplY3REaWdlc3QnLFxuICAgIH0sXG4gICAgU2hhcmVkT2JqZWN0UmVmOiB7XG4gICAgICBvYmplY3RJZDogQkNTLkFERFJFU1MsXG4gICAgICBpbml0aWFsU2hhcmVkVmVyc2lvbjogQkNTLlU2NCxcbiAgICAgIG11dGFibGU6IEJDUy5CT09MLFxuICAgIH0sXG4gICAgU3RydWN0VGFnOiB7XG4gICAgICBhZGRyZXNzOiBCQ1MuQUREUkVTUyxcbiAgICAgIG1vZHVsZTogQkNTLlNUUklORyxcbiAgICAgIG5hbWU6IEJDUy5TVFJJTkcsXG4gICAgICB0eXBlUGFyYW1zOiBbVkVDVE9SLCAnVHlwZVRhZyddLFxuICAgIH0sXG4gICAgR2FzRGF0YToge1xuICAgICAgcGF5bWVudDogW1ZFQ1RPUiwgJ1N1aU9iamVjdFJlZiddLFxuICAgICAgb3duZXI6IEJDUy5BRERSRVNTLFxuICAgICAgcHJpY2U6IEJDUy5VNjQsXG4gICAgICBidWRnZXQ6IEJDUy5VNjQsXG4gICAgfSxcbiAgICAvLyBTaWduZWQgdHJhbnNhY3Rpb24gZGF0YSBuZWVkZWQgdG8gZ2VuZXJhdGUgdHJhbnNhY3Rpb24gZGlnZXN0LlxuICAgIFNlbmRlclNpZ25lZERhdGE6IHtcbiAgICAgIGRhdGE6ICdUcmFuc2FjdGlvbkRhdGEnLFxuICAgICAgdHhTaWduYXR1cmVzOiBbVkVDVE9SLCBbVkVDVE9SLCBCQ1MuVThdXSxcbiAgICB9LFxuICAgIFRyYW5zYWN0aW9uRGF0YVYxLFxuICB9LFxuICBhbGlhc2VzOiB7XG4gICAgT2JqZWN0RGlnZXN0OiBCQ1MuQkFTRTU4LFxuICB9LFxufTtcblxuY29uc3QgYmNzID0gbmV3IEJDUyh7IC4uLmdldFN1aU1vdmVDb25maWcoKSwgdHlwZXM6IEJDU19TUEVDIH0pO1xucmVnaXN0ZXJVVEY4U3RyaW5nKGJjcyk7XG5cbmV4cG9ydCB7IGJjcyB9O1xuIl19
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VpLWJjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R5cGVzL3N1aS1iY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUNBLDhCQUVDO0FBM0NELHFDQUE4RjtBQUc5RixTQUFTLGtCQUFrQixDQUFDLEdBQVE7SUFDbEMsR0FBRyxDQUFDLFlBQVksQ0FDZCxZQUFZLEVBQ1osQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDZCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDLEVBQ0QsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNULE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUM7QUEwQkQsU0FBZ0IsU0FBUyxDQUFDLEdBQVE7SUFDaEMsT0FBUSxHQUFlLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztBQUM3QyxDQUFDO0FBb0ZELGdDQUFnQztBQUNoQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFTeEIsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLE1BQU0sRUFBRSxTQUFHLENBQUMsT0FB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Q2xCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsWUFBWSxFQUFFLFNBQUcsQ0FBQyxNQUFNO0tBQ3pCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sR0FBRyxHQUFHLElBQUksU0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFBLHNCQUFnQixHQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFHdkQsa0JBQUc7QUFGWixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJDUywgRW51bVR5cGVEZWZpbml0aW9uLCBnZXRTdWlNb3ZlQ29uZmlnLCBTdHJ1Y3RUeXBlRGVmaW5pdGlvbiB9IGZyb20gJ0BteXN0ZW4vYmNzJztcbmltcG9ydCB7IFN1aU9iamVjdFJlZiB9IGZyb20gJy4vb2JqZWN0cyc7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyVVRGOFN0cmluZyhiY3M6IEJDUykge1xuICBiY3MucmVnaXN0ZXJUeXBlKFxuICAgICd1dGY4c3RyaW5nJyxcbiAgICAod3JpdGVyLCBzdHIpID0+IHtcbiAgICAgIGNvbnN0IGJ5dGVzID0gQXJyYXkuZnJvbShuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoc3RyKSk7XG4gICAgICByZXR1cm4gd3JpdGVyLndyaXRlVmVjKGJ5dGVzLCAod3JpdGVyLCBlbCkgPT4gd3JpdGVyLndyaXRlOChlbCkpO1xuICAgIH0sXG4gICAgKHJlYWRlcikgPT4ge1xuICAgICAgY29uc3QgYnl0ZXMgPSByZWFkZXIucmVhZFZlYygocmVhZGVyKSA9PiByZWFkZXIucmVhZDgoKSk7XG4gICAgICByZXR1cm4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKG5ldyBVaW50OEFycmF5KGJ5dGVzKSk7XG4gICAgfVxuICApO1xufVxuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHRvIGEgc2hhcmVkIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgU2hhcmVkT2JqZWN0UmVmID0ge1xuICAvKiogSGV4IGNvZGUgYXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgb2JqZWN0IGlkICovXG4gIG9iamVjdElkOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSB2ZXJzaW9uIHRoZSBvYmplY3Qgd2FzIHNoYXJlZCBhdCAqL1xuICBpbml0aWFsU2hhcmVkVmVyc2lvbjogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBXaGV0aGVyIHJlZmVyZW5jZSBpcyBtdXRhYmxlICovXG4gIG11dGFibGU6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEFuIG9iamVjdCBhcmd1bWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgT2JqZWN0QXJnID0geyBJbW1Pck93bmVkOiBTdWlPYmplY3RSZWYgfSB8IHsgU2hhcmVkOiBTaGFyZWRPYmplY3RSZWYgfTtcblxuLyoqXG4gKiBBIHB1cmUgYXJndW1lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFB1cmVBcmcgPSB7IFB1cmU6IEFycmF5TGlrZTxudW1iZXI+IH07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1B1cmVBcmcoYXJnOiBhbnkpOiBhcmcgaXMgUHVyZUFyZyB7XG4gIHJldHVybiAoYXJnIGFzIFB1cmVBcmcpLlB1cmUgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbiBhcmd1bWVudCBmb3IgdGhlIHRyYW5zYWN0aW9uLiBJdCBpcyBhICdtZWFudCcgZW51bSB3aGljaCBleHBlY3RzIHRvIGhhdmVcbiAqIG9uZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcy4gSWYgbm90LCB0aGUgQkNTIGVycm9yIHdpbGwgYmUgdGhyb3duIHdoaWxlXG4gKiBhdHRlbXB0aW5nIHRvIGZvcm0gYSB0cmFuc2FjdGlvbi5cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBganNcbiAqIGxldCBhcmcxOiBDYWxsQXJnID0geyBPYmplY3Q6IHsgU2hhcmVkOiB7XG4gKiAgIG9iamVjdElkOiAnNTQ2MGNmOTJiNWUzZTcwNjdhYWFjZTYwZDg4MzI0MDk1ZmQyMjk0NCcsXG4gKiAgIGluaXRpYWxTaGFyZWRWZXJzaW9uOiAxLFxuICogICBtdXRhYmxlOiB0cnVlLFxuICogfSB9IH07XG4gKiBsZXQgYXJnMjogQ2FsbEFyZyA9IHsgUHVyZTogYmNzLnNlcihCQ1MuU1RSSU5HLCAxMDAwMDApLnRvQnl0ZXMoKSB9O1xuICogbGV0IGFyZzM6IENhbGxBcmcgPSB7IE9iamVjdDogeyBJbW1Pck93bmVkOiB7XG4gKiAgIG9iamVjdElkOiAnNDA0N2QyZTI1MjExZDg3OTIyYjY2NTAyMzNiZDA1MDNhNjczNDI3OScsXG4gKiAgIHZlcnNpb246IDEsXG4gKiAgIGRpZ2VzdDogJ2JDaUFOQ2h0NE85TUVVaHVZamRSQ3FSUFpqcjJySjhNZnFOaXd5aG1SZ0E9J1xuICogfSB9IH07XG4gKiBgYGBcbiAqXG4gKiBGb3IgYFB1cmVgIGFyZ3VtZW50cyBCQ1MgaXMgcmVxdWlyZWQuIFlvdSBtdXN0IGVuY29kZSB0aGUgdmFsdWVzIHdpdGggQkNTIGFjY29yZGluZ1xuICogdG8gdGhlIHR5cGUgcmVxdWlyZWQgYnkgdGhlIGNhbGxlZCBmdW5jdGlvbi4gUHVyZSBhY2NlcHRzIG9ubHkgc2VyaWFsaXplZCB2YWx1ZXNcbiAqL1xuZXhwb3J0IHR5cGUgQ2FsbEFyZyA9IFB1cmVBcmcgfCB7IE9iamVjdDogT2JqZWN0QXJnIH0gfCB7IEJhbGFuY2VXaXRoZHJhd2FsOiB7IGFtb3VudDogYmlnaW50IHwgbnVtYmVyOyB0eXBlXzogVHlwZVRhZyB9IH07XG5cbi8qKlxuICogS2luZCBvZiBhIFR5cGVUYWcgd2hpY2ggaXMgcmVwcmVzZW50ZWQgYnkgYSBNb3ZlIHR5cGUgaWRlbnRpZmllci5cbiAqL1xuZXhwb3J0IHR5cGUgU3RydWN0VGFnID0ge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIG1vZHVsZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGVQYXJhbXM6IFR5cGVUYWdbXTtcbn07XG5cbi8qKlxuICogU3VpIFR5cGVUYWcgb2JqZWN0LiBBIGRlY291cGxlZCBgMHguLi46Om1vZHVsZTo6VHlwZTw/Pz8+YCBwYXJhbWV0ZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFR5cGVUYWcgPVxuICB8IHsgYm9vbDogbnVsbCB9XG4gIHwgeyB1ODogbnVsbCB9XG4gIHwgeyB1NjQ6IG51bGwgfVxuICB8IHsgdTEyODogbnVsbCB9XG4gIHwgeyBhZGRyZXNzOiBudWxsIH1cbiAgfCB7IHNpZ25lcjogbnVsbCB9XG4gIHwgeyB2ZWN0b3I6IFR5cGVUYWcgfVxuICB8IHsgc3RydWN0OiBTdHJ1Y3RUYWcgfVxuICB8IHsgdTE2OiBudWxsIH1cbiAgfCB7IHUzMjogbnVsbCB9XG4gIHwgeyB1MjU2OiBudWxsIH07XG5cbi8vID09PT09PT09PT0gVHJhbnNhY3Rpb25EYXRhID09PT09PT09PT09XG5cbi8qKlxuICogVGhlIEdhc0RhdGEgdG8gYmUgdXNlZCBpbiB0aGUgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdhc0RhdGEgPSB7XG4gIHBheW1lbnQ6IFN1aU9iamVjdFJlZltdO1xuICBvd25lcjogc3RyaW5nOyAvLyBHYXMgT2JqZWN0J3Mgb3duZXJcbiAgcHJpY2U6IG51bWJlcjtcbiAgYnVkZ2V0OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIFZhbGlkRHVyaW5nIGV4cGlyYXRpb24g4oCUIHVzZWQgd2hlbiBnYXNEYXRhLnBheW1lbnQgaXMgZW1wdHkgKGFkZHJlc3MtYmFsYW5jZS1mdW5kZWQgZ2FzKS5cbiAqIEJvdGggbWluRXBvY2ggYW5kIG1heEVwb2NoIG11c3QgYmUgc2V0OyBtYXhFcG9jaCBtdXN0IGVxdWFsIG1pbkVwb2NoIG9yIG1pbkVwb2NoICsgMS5cbiAqIFRoZSBub25jZSAodTMyKSBwcmV2ZW50cyBkdXBsaWNhdGUgdHJhbnNhY3Rpb24gZGlnZXN0cyBhY3Jvc3Mgc2FtZS1lcG9jaCBidWlsZHMuXG4gKi9cbmV4cG9ydCB0eXBlIFZhbGlkRHVyaW5nRXhwaXJhdGlvbiA9IHtcbiAgbWluRXBvY2g6IG51bWJlcjtcbiAgbWF4RXBvY2g6IG51bWJlcjtcbiAgY2hhaW46IHN0cmluZztcbiAgbm9uY2U6IG51bWJlcjtcbn07XG5cbi8qKlxuICogVHJhbnNhY3Rpb25FeHBpcmF0aW9uXG4gKlxuICogSW5kaWNhdGlvbnMgdGhlIGV4cGlyYXRpb24gdGltZSBmb3IgYSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25FeHBpcmF0aW9uID0geyBOb25lOiBudWxsIH0gfCB7IEVwb2NoOiBudW1iZXIgfSB8IHsgVmFsaWREdXJpbmc6IFZhbGlkRHVyaW5nRXhwaXJhdGlvbiB9O1xuXG4vLyBNb3ZlIG5hbWUgb2YgdGhlIFZlY3RvciB0eXBlLlxuY29uc3QgVkVDVE9SID0gJ3ZlY3Rvcic7XG5cbi8vIEltcG9ydGVkIHRvIGV4cGxpY2l0bHkgdGVsbCB0eXBlc2NyaXB0IHRoYXQgdHlwZXMgbWF0Y2hcbnR5cGUgVHlwZVNjaGVtYSA9IHtcbiAgc3RydWN0cz86IHsgW2tleTogc3RyaW5nXTogU3RydWN0VHlwZURlZmluaXRpb24gfTtcbiAgZW51bXM/OiB7IFtrZXk6IHN0cmluZ106IEVudW1UeXBlRGVmaW5pdGlvbiB9O1xuICBhbGlhc2VzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn07XG5cbmNvbnN0IFRyYW5zYWN0aW9uRGF0YVYxID0ge1xuICBraW5kOiAnVHJhbnNhY3Rpb25LaW5kJyxcbiAgc2VuZGVyOiBCQ1MuQUREUkVTUyxcbiAgZ2FzRGF0YTogJ0dhc0RhdGEnLFxuICBleHBpcmF0aW9uOiAnVHJhbnNhY3Rpb25FeHBpcmF0aW9uJyxcbn07XG5cbmNvbnN0IEJDU19TUEVDOiBUeXBlU2NoZW1hID0ge1xuICBlbnVtczoge1xuICAgICdPcHRpb248VD4nOiB7XG4gICAgICBOb25lOiBudWxsLFxuICAgICAgU29tZTogJ1QnLFxuICAgIH0sXG4gICAgT2JqZWN0QXJnOiB7XG4gICAgICBJbW1Pck93bmVkOiAnU3VpT2JqZWN0UmVmJyxcbiAgICAgIFNoYXJlZDogJ1NoYXJlZE9iamVjdFJlZicsXG4gICAgfSxcbiAgICBDYWxsQXJnOiB7XG4gICAgICBQdXJlOiBbVkVDVE9SLCBCQ1MuVThdLFxuICAgICAgT2JqZWN0OiAnT2JqZWN0QXJnJyxcbiAgICAgIE9ialZlYzogW1ZFQ1RPUiwgJ09iamVjdEFyZyddLFxuICAgICAgQmFsYW5jZVdpdGhkcmF3YWw6ICdCYWxhbmNlV2l0aGRyYXdhbCcsXG4gICAgfSxcbiAgICBUeXBlVGFnOiB7XG4gICAgICBib29sOiBudWxsLFxuICAgICAgdTg6IG51bGwsXG4gICAgICB1NjQ6IG51bGwsXG4gICAgICB1MTI4OiBudWxsLFxuICAgICAgYWRkcmVzczogbnVsbCxcbiAgICAgIHNpZ25lcjogbnVsbCxcbiAgICAgIHZlY3RvcjogJ1R5cGVUYWcnLFxuICAgICAgc3RydWN0OiAnU3RydWN0VGFnJyxcbiAgICAgIHUxNjogbnVsbCxcbiAgICAgIHUzMjogbnVsbCxcbiAgICAgIHUyNTY6IG51bGwsXG4gICAgfSxcbiAgICBUcmFuc2FjdGlvbktpbmQ6IHtcbiAgICAgIC8vIGNhbiBub3QgYmUgY2FsbGVkIGZyb20gc3VpLmpzOyBkdW1teSBwbGFjZW1lbnRcbiAgICAgIC8vIHRvIHNldCB0aGUgZW51bSBjb3VudGVyIHJpZ2h0IGZvciBQcm9ncmFtbWFibGVUcmFuc2FjdFxuICAgICAgUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb246ICdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbicsXG4gICAgICBDaGFuZ2VFcG9jaDogbnVsbCxcbiAgICAgIEdlbmVzaXM6IG51bGwsXG4gICAgICBDb25zZW5zdXNDb21taXRQcm9sb2d1ZTogbnVsbCxcbiAgICB9LFxuICAgIFRyYW5zYWN0aW9uRXhwaXJhdGlvbjoge1xuICAgICAgTm9uZTogbnVsbCxcbiAgICAgIEVwb2NoOiBCQ1MuVTY0LFxuICAgICAgVmFsaWREdXJpbmc6ICdWYWxpZER1cmluZ0V4cGlyYXRpb24nLFxuICAgIH0sXG4gICAgVHJhbnNhY3Rpb25EYXRhOiB7XG4gICAgICBWMTogJ1RyYW5zYWN0aW9uRGF0YVYxJyxcbiAgICB9LFxuICB9LFxuICBzdHJ1Y3RzOiB7XG4gICAgQmFsYW5jZVdpdGhkcmF3YWw6IHtcbiAgICAgIGFtb3VudDogQkNTLlU2NCxcbiAgICAgIHR5cGVfOiAnVHlwZVRhZycsXG4gICAgfSxcbiAgICBWYWxpZER1cmluZ0V4cGlyYXRpb246IHtcbiAgICAgIG1pbkVwb2NoOiBCQ1MuVTY0LFxuICAgICAgbWF4RXBvY2g6IEJDUy5VNjQsXG4gICAgICBjaGFpbjogQkNTLlNUUklORyxcbiAgICAgIG5vbmNlOiBCQ1MuVTMyLFxuICAgIH0sXG4gICAgU3VpT2JqZWN0UmVmOiB7XG4gICAgICBvYmplY3RJZDogQkNTLkFERFJFU1MsXG4gICAgICB2ZXJzaW9uOiBCQ1MuVTY0LFxuICAgICAgZGlnZXN0OiAnT2JqZWN0RGlnZXN0JyxcbiAgICB9LFxuICAgIFNoYXJlZE9iamVjdFJlZjoge1xuICAgICAgb2JqZWN0SWQ6IEJDUy5BRERSRVNTLFxuICAgICAgaW5pdGlhbFNoYXJlZFZlcnNpb246IEJDUy5VNjQsXG4gICAgICBtdXRhYmxlOiBCQ1MuQk9PTCxcbiAgICB9LFxuICAgIFN0cnVjdFRhZzoge1xuICAgICAgYWRkcmVzczogQkNTLkFERFJFU1MsXG4gICAgICBtb2R1bGU6IEJDUy5TVFJJTkcsXG4gICAgICBuYW1lOiBCQ1MuU1RSSU5HLFxuICAgICAgdHlwZVBhcmFtczogW1ZFQ1RPUiwgJ1R5cGVUYWcnXSxcbiAgICB9LFxuICAgIEdhc0RhdGE6IHtcbiAgICAgIHBheW1lbnQ6IFtWRUNUT1IsICdTdWlPYmplY3RSZWYnXSxcbiAgICAgIG93bmVyOiBCQ1MuQUREUkVTUyxcbiAgICAgIHByaWNlOiBCQ1MuVTY0LFxuICAgICAgYnVkZ2V0OiBCQ1MuVTY0LFxuICAgIH0sXG4gICAgLy8gU2lnbmVkIHRyYW5zYWN0aW9uIGRhdGEgbmVlZGVkIHRvIGdlbmVyYXRlIHRyYW5zYWN0aW9uIGRpZ2VzdC5cbiAgICBTZW5kZXJTaWduZWREYXRhOiB7XG4gICAgICBkYXRhOiAnVHJhbnNhY3Rpb25EYXRhJyxcbiAgICAgIHR4U2lnbmF0dXJlczogW1ZFQ1RPUiwgW1ZFQ1RPUiwgQkNTLlU4XV0sXG4gICAgfSxcbiAgICBUcmFuc2FjdGlvbkRhdGFWMSxcbiAgfSxcbiAgYWxpYXNlczoge1xuICAgIE9iamVjdERpZ2VzdDogQkNTLkJBU0U1OCxcbiAgfSxcbn07XG5cbmNvbnN0IGJjcyA9IG5ldyBCQ1MoeyAuLi5nZXRTdWlNb3ZlQ29uZmlnKCksIHR5cGVzOiBCQ1NfU1BFQyB9KTtcbnJlZ2lzdGVyVVRGOFN0cmluZyhiY3MpO1xuXG5leHBvcnQgeyBiY3MgfTtcbiJdfQ==
@@ -5,11 +5,23 @@ import { Transaction } from './transaction';
5
5
  import { TransactionBuilder } from './transactionBuilder';
6
6
  import { TokenTransferTransaction } from './tokenTransferTransaction';
7
7
  import { SuiObjectRef } from './mystenlab/types';
8
+ import BigNumber from 'bignumber.js';
8
9
  export declare class TokenTransferBuilder extends TransactionBuilder<TokenTransferProgrammableTransaction> {
9
10
  protected _recipients: Recipient[];
10
11
  protected _inputObjects: SuiObjectRef[];
12
+ /**
13
+ * Balance held in the address balance system for the token being transferred.
14
+ * When set, this amount is included in the total available balance.
15
+ * At execution time, tx.withdrawal() + 0x2::coin::redeem_funds converts it
16
+ * to a Coin<T> that is merged with any coin objects before splitting.
17
+ */
18
+ protected _fundsInAddressBalance: BigNumber;
11
19
  constructor(_coinConfig: Readonly<CoinConfig>);
12
20
  protected get transactionType(): TransactionType;
21
+ /**
22
+ * The full coin type string derived from the coin config (e.g. `0xabc::my_token::MY_TOKEN`).
23
+ */
24
+ private get tokenCoinType();
13
25
  /** @inheritdoc */
14
26
  validateTransaction(transaction: TokenTransferTransaction): void;
15
27
  /** @inheritdoc */
@@ -22,13 +34,29 @@ export declare class TokenTransferBuilder extends TransactionBuilder<TokenTransf
22
34
  initBuilder(tx: TokenTransferTransaction): void;
23
35
  send(recipients: Recipient[]): this;
24
36
  inputObjects(inputObject: SuiObjectRef[]): this;
37
+ /**
38
+ * Set the amount of token funds held in the Sui address balance system for this sender.
39
+ *
40
+ * @param {string} amount - amount in base units held in address balance
41
+ */
42
+ fundsInAddressBalance(amount: string): this;
25
43
  /**
26
44
  * Validates all fields are defined correctly
27
45
  */
28
46
  private validateTransactionFields;
29
- private validateInputObjects;
47
+ /** Validates the individual object refs (does not require non-empty array). */
48
+ private validateInputObjectRefs;
30
49
  /**
31
- * Build SuiTransaction
50
+ * Build SuiTransaction.
51
+ *
52
+ * Two build paths:
53
+ *
54
+ * Path A — coin objects only (fundsInAddressBalance = 0):
55
+ * MergeCoins(inputObject[0], [inputObject[1..]]) → SplitCoins → TransferObjects
56
+ *
57
+ * Path B — coin objects + address balance (or address balance only):
58
+ * MoveCall(0x2::coin::redeem_funds, [withdrawal(amount, coinType)]) → Coin<T>
59
+ * MergeCoins(inputObject[0] | addrCoin, [rest...]) → SplitCoins → TransferObjects
32
60
  *
33
61
  * @return {SuiTransaction<TokenTransferProgrammableTransaction>}
34
62
  * @protected
@@ -1 +1 @@
1
- {"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAyB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAsB,oCAAoC,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,oCAAoC,CAAC;IAChG,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;gBAC5B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI;IAOhE,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxB,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,oCAAoC,CAAC;IAQvG,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAgBjG,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,wBAAwB,GAAG,IAAI;IAgB/C,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAMnC,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI;IAM/C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,oBAAoB;IAU5B;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,oCAAoC,CAAC;CAgCtF"}
1
+ {"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAyB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAW,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAsB,oCAAoC,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOjD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,oCAAoC,CAAC;IAChG,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;IACxC;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,EAAE,SAAS,CAAoB;gBAEnD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;OAEG;IACH,OAAO,KAAK,aAAa,GAGxB;IAED,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI;IAOhE,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxB,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,oCAAoC,CAAC;IAQvG,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAgBjG,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,wBAAwB,GAAG,IAAI;IAqC/C,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAMnC,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI;IAM/C;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAoBjC,+EAA+E;IAC/E,OAAO,CAAC,uBAAuB;IAQ/B;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,oCAAoC,CAAC;CAoDtF"}
@@ -11,14 +11,29 @@ const transactionBuilder_1 = require("./transactionBuilder");
11
11
  const tokenTransferTransaction_1 = require("./tokenTransferTransaction");
12
12
  const utils_1 = __importDefault(require("./utils"));
13
13
  const builder_1 = require("./mystenlab/builder");
14
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
14
15
  class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
15
16
  constructor(_coinConfig) {
16
17
  super(_coinConfig);
18
+ /**
19
+ * Balance held in the address balance system for the token being transferred.
20
+ * When set, this amount is included in the total available balance.
21
+ * At execution time, tx.withdrawal() + 0x2::coin::redeem_funds converts it
22
+ * to a Coin<T> that is merged with any coin objects before splitting.
23
+ */
24
+ this._fundsInAddressBalance = new bignumber_js_1.default(0);
17
25
  this._transaction = new tokenTransferTransaction_1.TokenTransferTransaction(_coinConfig);
18
26
  }
19
27
  get transactionType() {
20
28
  return sdk_core_1.TransactionType.Send;
21
29
  }
30
+ /**
31
+ * The full coin type string derived from the coin config (e.g. `0xabc::my_token::MY_TOKEN`).
32
+ */
33
+ get tokenCoinType() {
34
+ const config = this._coinConfig;
35
+ return `${config.packageId}::${config.module}::${config.symbol}`;
36
+ }
22
37
  /** @inheritdoc */
23
38
  validateTransaction(transaction) {
24
39
  if (!transaction.suiTransaction) {
@@ -62,10 +77,24 @@ class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
62
77
  this.type(iface_1.SuiTransactionType.TokenTransfer);
63
78
  this.sender(txData.sender);
64
79
  this.gasData(txData.gasData);
80
+ // Only restore meaningful expirations (Epoch or ValidDuring) — ignore None.
81
+ if (txData.expiration && !('None' in txData.expiration)) {
82
+ this._expiration = txData.expiration;
83
+ }
65
84
  const recipients = utils_1.default.getRecipients(tx.suiTransaction);
66
85
  this.send(recipients);
67
- (0, assert_1.default)(txData.inputObjects);
68
- this.inputObjects(txData.inputObjects);
86
+ // Reconstruct fundsInAddressBalance from BalanceWithdrawal input if present.
87
+ // After BCS deserialization inputs are CallArg format: { BalanceWithdrawal: {...} }
88
+ // During building they are TransactionBlockInput format: { kind:'Input', value: { BalanceWithdrawal: {...} } }
89
+ const withdrawalInput = tx.suiTransaction?.tx?.inputs?.find((input) => (input !== null && typeof input === 'object' && 'BalanceWithdrawal' in input) ||
90
+ (input?.value !== null && typeof input?.value === 'object' && 'BalanceWithdrawal' in (input.value ?? {})));
91
+ if (withdrawalInput) {
92
+ const bw = withdrawalInput.BalanceWithdrawal ?? withdrawalInput.value?.BalanceWithdrawal;
93
+ this._fundsInAddressBalance = new bignumber_js_1.default(String(bw.amount));
94
+ }
95
+ if (txData.inputObjects && txData.inputObjects.length > 0) {
96
+ this.inputObjects(txData.inputObjects);
97
+ }
69
98
  }
70
99
  send(recipients) {
71
100
  this.validateRecipients(recipients);
@@ -73,10 +102,19 @@ class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
73
102
  return this;
74
103
  }
75
104
  inputObjects(inputObject) {
76
- this.validateInputObjects(inputObject);
105
+ this.validateInputObjectRefs(inputObject);
77
106
  this._inputObjects = inputObject;
78
107
  return this;
79
108
  }
109
+ /**
110
+ * Set the amount of token funds held in the Sui address balance system for this sender.
111
+ *
112
+ * @param {string} amount - amount in base units held in address balance
113
+ */
114
+ fundsInAddressBalance(amount) {
115
+ this._fundsInAddressBalance = new bignumber_js_1.default(amount);
116
+ return this;
117
+ }
80
118
  /**
81
119
  * Validates all fields are defined correctly
82
120
  */
@@ -86,16 +124,31 @@ class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
86
124
  (0, assert_1.default)(this._recipients && this._recipients.length > 0, new sdk_core_1.BuildTransactionError('at least one recipient is required before building'));
87
125
  (0, assert_1.default)(this._gasData, new sdk_core_1.BuildTransactionError('gasData is required before building'));
88
126
  this.validateGasData(this._gasData);
89
- this.validateInputObjects(this._inputObjects);
127
+ // Must have at least coin objects OR address balance
128
+ (0, assert_1.default)((this._inputObjects && this._inputObjects.length > 0) || this._fundsInAddressBalance.gt(0), new sdk_core_1.BuildTransactionError('input objects or fundsInAddressBalance required before building'));
129
+ if (this._inputObjects && this._inputObjects.length > 0) {
130
+ this.validateInputObjectRefs(this._inputObjects);
131
+ }
90
132
  }
91
- validateInputObjects(inputObjects) {
92
- (0, assert_1.default)(inputObjects && inputObjects.length > 0, new sdk_core_1.BuildTransactionError('input objects required before building'));
93
- inputObjects.forEach((inputObject) => {
94
- this.validateSuiObjectRef(inputObject, 'input object');
95
- });
133
+ /** Validates the individual object refs (does not require non-empty array). */
134
+ validateInputObjectRefs(inputObjects) {
135
+ if (inputObjects) {
136
+ inputObjects.forEach((inputObject) => {
137
+ this.validateSuiObjectRef(inputObject, 'input object');
138
+ });
139
+ }
96
140
  }
97
141
  /**
98
- * Build SuiTransaction
142
+ * Build SuiTransaction.
143
+ *
144
+ * Two build paths:
145
+ *
146
+ * Path A — coin objects only (fundsInAddressBalance = 0):
147
+ * MergeCoins(inputObject[0], [inputObject[1..]]) → SplitCoins → TransferObjects
148
+ *
149
+ * Path B — coin objects + address balance (or address balance only):
150
+ * MoveCall(0x2::coin::redeem_funds, [withdrawal(amount, coinType)]) → Coin<T>
151
+ * MergeCoins(inputObject[0] | addrCoin, [rest...]) → SplitCoins → TransferObjects
99
152
  *
100
153
  * @return {SuiTransaction<TokenTransferProgrammableTransaction>}
101
154
  * @protected
@@ -103,7 +156,22 @@ class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
103
156
  buildSuiTransaction() {
104
157
  this.validateTransactionFields();
105
158
  const programmableTxBuilder = new builder_1.TransactionBlock();
106
- const inputObjects = this._inputObjects.map((object) => programmableTxBuilder.object(builder_1.Inputs.ObjectRef(object)));
159
+ const inputObjects = (this._inputObjects ?? []).map((object) => programmableTxBuilder.object(builder_1.Inputs.ObjectRef(object)));
160
+ // If address balance is available, withdraw it as Coin<T> and add to the pool
161
+ if (this._fundsInAddressBalance.gt(0)) {
162
+ const coinType = this.tokenCoinType;
163
+ const [addrCoin] = programmableTxBuilder.moveCall({
164
+ target: '0x2::coin::redeem_funds',
165
+ typeArguments: [coinType],
166
+ arguments: [
167
+ programmableTxBuilder.withdrawal({
168
+ amount: BigInt(this._fundsInAddressBalance.toFixed()),
169
+ type: coinType,
170
+ }),
171
+ ],
172
+ });
173
+ inputObjects.push(addrCoin);
174
+ }
107
175
  const mergedObject = inputObjects.shift();
108
176
  if (inputObjects.length > 0) {
109
177
  programmableTxBuilder.mergeCoins(mergedObject, inputObjects);
@@ -125,8 +193,10 @@ class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
125
193
  gasData: {
126
194
  ...this._gasData,
127
195
  },
196
+ expiration: this._expiration,
197
+ fundsInAddressBalance: this._fundsInAddressBalance.gt(0) ? this._fundsInAddressBalance.toFixed() : undefined,
128
198
  };
129
199
  }
130
200
  }
131
201
  exports.TokenTransferBuilder = TokenTransferBuilder;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qiw4Q0FBNkY7QUFFN0YsbUNBQW1HO0FBRW5HLDZEQUEwRDtBQUMxRCx5RUFBc0U7QUFFdEUsb0RBQTRCO0FBQzVCLGlEQUk2QjtBQUU3QixNQUFhLG9CQUFxQixTQUFRLHVDQUF3RDtJQUdoRyxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksbURBQXdCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsV0FBcUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLEdBQVk7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFDL0QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxFQUFFLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxrQkFBa0Is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LENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFO2dCQUNqRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyRCxDQUFDLENBQUM7WUFDSCxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEcsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDL0MsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsRUFBRSxFQUFFO2dCQUNGLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsWUFBWSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDakI7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBaEpELG9EQWdKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSwgUmVjaXBpZW50LCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIEJhc2VLZXkgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFN1aVRyYW5zYWN0aW9uLCBTdWlUcmFuc2FjdGlvblR5cGUsIFRva2VuVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbiB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXJUcmFuc2FjdGlvbiB9IGZyb20gJy4vdG9rZW5UcmFuc2ZlclRyYW5zYWN0aW9uJztcbmltcG9ydCB7IFN1aU9iamVjdFJlZiB9IGZyb20gJy4vbXlzdGVubGFiL3R5cGVzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7XG4gIElucHV0cyxcbiAgVHJhbnNhY3Rpb25CbG9jayBhcyBQcm9ncmFtbWluZ1RyYW5zYWN0aW9uQmxvY2tCdWlsZGVyLFxuICBUcmFuc2FjdGlvbkFyZ3VtZW50LFxufSBmcm9tICcuL215c3RlbmxhYi9idWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPFRva2VuVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICBwcm90ZWN0ZWQgX3JlY2lwaWVudHM6IFJlY2lwaWVudFtdO1xuICBwcm90ZWN0ZWQgX2lucHV0T2JqZWN0czogU3VpT2JqZWN0UmVmW107XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUb2tlblRyYW5zZmVyVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVG9rZW5UcmFuc2ZlclRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbi5zdWlUcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlVHJhbnNhY3Rpb25GaWVsZHMoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBzaWduKGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0U3VpVHJhbnNhY3Rpb24odGhpcy5idWlsZFN1aVRyYW5zYWN0aW9uKCkpO1xuICAgIHN1cGVyLnNpZ24oa2V5KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbjxUb2tlblRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCB0eCA9IG5ldyBUb2tlblRyYW5zZmVyVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgdGhpcy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHRoaXMuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb248VG9rZW5UcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uPj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0U3VpVHJhbnNhY3Rpb24odGhpcy5idWlsZFN1aVRyYW5zYWN0aW9uKCkpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlKHRoaXMudHJhbnNhY3Rpb25UeXBlKTtcblxuICAgIGlmICh0aGlzLl9zaWduZXIpIHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbih0aGlzLl9zaWduZXIpO1xuICAgIH1cblxuICAgIHRoaXMuX3NpZ25hdHVyZXMuZm9yRWFjaCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLmFkZFNpZ25hdHVyZShzaWduYXR1cmUucHVibGljS2V5LCBzaWduYXR1cmUuc2lnbmF0dXJlKTtcbiAgICB9KTtcblxuICAgIHRoaXMudHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVG9rZW5UcmFuc2ZlclRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcblxuICAgIGlmICh0eC5zaWduYXR1cmUgJiYgdHguc2lnbmF0dXJlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbdHguc3VpU2lnbmF0dXJlXTtcbiAgICB9XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdGhpcy50eXBlKFN1aVRyYW5zYWN0aW9uVHlwZS5Ub2tlblRyYW5zZmVyKTtcbiAgICB0aGlzLnNlbmRlcih0eERhdGEuc2VuZGVyKTtcbiAgICB0aGlzLmdhc0RhdGEodHhEYXRhLmdhc0RhdGEpO1xuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB1dGlscy5nZXRSZWNpcGllbnRzKHR4LnN1aVRyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnNlbmQocmVjaXBpZW50cyk7XG4gICAgYXNzZXJ0KHR4RGF0YS5pbnB1dE9iamVjdHMpO1xuICAgIHRoaXMuaW5wdXRPYmplY3RzKHR4RGF0YS5pbnB1dE9iamVjdHMpO1xuICB9XG5cbiAgc2VuZChyZWNpcGllbnRzOiBSZWNpcGllbnRbXSk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVSZWNpcGllbnRzKHJlY2lwaWVudHMpO1xuICAgIHRoaXMuX3JlY2lwaWVudHMgPSByZWNpcGllbnRzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaW5wdXRPYmplY3RzKGlucHV0T2JqZWN0OiBTdWlPYmplY3RSZWZbXSk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVJbnB1dE9iamVjdHMoaW5wdXRPYmplY3QpO1xuICAgIHRoaXMuX2lucHV0T2JqZWN0cyA9IGlucHV0T2JqZWN0O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbGwgZmllbGRzIGFyZSBkZWZpbmVkIGNvcnJlY3RseVxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRyYW5zYWN0aW9uRmllbGRzKCk6IHZvaWQge1xuICAgIGFzc2VydCh0aGlzLl90eXBlLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCd0eXBlIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQodGhpcy5fc2VuZGVyLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdzZW5kZXIgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJykpO1xuICAgIGFzc2VydChcbiAgICAgIHRoaXMuX3JlY2lwaWVudHMgJiYgdGhpcy5fcmVjaXBpZW50cy5sZW5ndGggPiAwLFxuICAgICAgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignYXQgbGVhc3Qgb25lIHJlY2lwaWVudCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKVxuICAgICk7XG4gICAgYXNzZXJ0KHRoaXMuX2dhc0RhdGEsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2dhc0RhdGEgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJykpO1xuICAgIHRoaXMudmFsaWRhdGVHYXNEYXRhKHRoaXMuX2dhc0RhdGEpO1xuICAgIHRoaXMudmFsaWRhdGVJbnB1dE9iamVjdHModGhpcy5faW5wdXRPYmplY3RzKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJbnB1dE9iamVjdHMoaW5wdXRPYmplY3RzOiBTdWlPYmplY3RSZWZbXSk6IHZvaWQge1xuICAgIGFzc2VydChcbiAgICAgIGlucHV0T2JqZWN0cyAmJiBpbnB1dE9iamVjdHMubGVuZ3RoID4gMCxcbiAgICAgIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2lucHV0IG9iamVjdHMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJylcbiAgICApO1xuICAgIGlucHV0T2JqZWN0cy5mb3JFYWNoKChpbnB1dE9iamVjdCkgPT4ge1xuICAgICAgdGhpcy52YWxpZGF0ZVN1aU9iamVjdFJlZihpbnB1dE9iamVjdCwgJ2lucHV0IG9iamVjdCcpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIFN1aVRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEByZXR1cm4ge1N1aVRyYW5zYWN0aW9uPFRva2VuVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj59XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZFN1aVRyYW5zYWN0aW9uKCk6IFN1aVRyYW5zYWN0aW9uPFRva2VuVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudmFsaWRhdGVUcmFuc2FjdGlvbkZpZWxkcygpO1xuXG4gICAgY29uc3QgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyID0gbmV3IFByb2dyYW1taW5nVHJhbnNhY3Rpb25CbG9ja0J1aWxkZXIoKTtcblxuICAgIGNvbnN0IGlucHV0T2JqZWN0cyA9IHRoaXMuX2lucHV0T2JqZWN0cy5tYXAoKG9iamVjdCkgPT4gcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLm9iamVjdChJbnB1dHMuT2JqZWN0UmVmKG9iamVjdCkpKTtcbiAgICBjb25zdCBtZXJnZWRPYmplY3QgPSBpbnB1dE9iamVjdHMuc2hpZnQoKSBhcyBUcmFuc2FjdGlvbkFyZ3VtZW50O1xuXG4gICAgaWYgKGlucHV0T2JqZWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICBwcm9ncmFtbWFibGVUeEJ1aWxkZXIubWVyZ2VDb2lucyhtZXJnZWRPYmplY3QsIGlucHV0T2JqZWN0cyk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVjaXBpZW50cy5mb3JFYWNoKChyZWNpcGllbnQpID0+IHtcbiAgICAgIGNvbnN0IHNwbGl0T2JqZWN0ID0gcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLnNwbGl0Q29pbnMobWVyZ2VkT2JqZWN0LCBbXG4gICAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci5wdXJlKE51bWJlcihyZWNpcGllbnQuYW1vdW50KSksXG4gICAgICBdKTtcbiAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci50cmFuc2Zlck9iamVjdHMoW3NwbGl0T2JqZWN0XSwgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLm9iamVjdChyZWNpcGllbnQuYWRkcmVzcykpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdHhEYXRhID0gcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLmJsb2NrRGF0YTtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy5fdHlwZSxcbiAgICAgIHNlbmRlcjogdGhpcy5fc2VuZGVyLFxuICAgICAgdHg6IHtcbiAgICAgICAgaW5wdXRzOiBbLi4udHhEYXRhLmlucHV0c10sXG4gICAgICAgIHRyYW5zYWN0aW9uczogWy4uLnR4RGF0YS50cmFuc2FjdGlvbnNdLFxuICAgICAgfSxcbiAgICAgIGdhc0RhdGE6IHtcbiAgICAgICAgLi4udGhpcy5fZ2FzRGF0YSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qiw4Q0FBNkY7QUFFN0YsbUNBQW1HO0FBRW5HLDZEQUEwRDtBQUMxRCx5RUFBc0U7QUFFdEUsb0RBQTRCO0FBQzVCLGlEQUk2QjtBQUM3QixnRUFBcUM7QUFFckMsTUFBYSxvQkFBcUIsU0FBUSx1Q0FBd0Q7SUFXaEcsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFUckI7Ozs7O1dBS0c7UUFDTywyQkFBc0IsR0FBYyxJQUFJLHNCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFJN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLG1EQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLGFBQWE7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQXNCLENBQUM7UUFDM0MsT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxXQUFxQztRQUN2RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBWTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLG1C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QUFTLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFO2dCQUNqRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyRCxDQUFDLENBQUM7WUFDSCxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEcsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDL0MsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsRUFBRSxFQUFFO2dCQUNGLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsWUFBWSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDakI7WUFDRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDNUIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQzdHLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFuT0Qsb0RBbU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBSZWNpcGllbnQsIEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgQmFzZUtleSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBTdWlDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgU3VpVHJhbnNhY3Rpb24sIFN1aVRyYW5zYWN0aW9uVHlwZSwgVG9rZW5UcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU3VpT2JqZWN0UmVmIH0gZnJvbSAnLi9teXN0ZW5sYWIvdHlwZXMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgSW5wdXRzLFxuICBUcmFuc2FjdGlvbkJsb2NrIGFzIFByb2dyYW1taW5nVHJhbnNhY3Rpb25CbG9ja0J1aWxkZXIsXG4gIFRyYW5zYWN0aW9uQXJndW1lbnQsXG59IGZyb20gJy4vbXlzdGVubGFiL2J1aWxkZXInO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXI8VG9rZW5UcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gIHByb3RlY3RlZCBfaW5wdXRPYmplY3RzOiBTdWlPYmplY3RSZWZbXTtcbiAgLyoqXG4gICAqIEJhbGFuY2UgaGVsZCBpbiB0aGUgYWRkcmVzcyBiYWxhbmNlIHN5c3RlbSBmb3IgdGhlIHRva2VuIGJlaW5nIHRyYW5zZmVycmVkLlxuICAgKiBXaGVuIHNldCwgdGhpcyBhbW91bnQgaXMgaW5jbHVkZWQgaW4gdGhlIHRvdGFsIGF2YWlsYWJsZSBiYWxhbmNlLlxuICAgKiBBdCBleGVjdXRpb24gdGltZSwgdHgud2l0aGRyYXdhbCgpICsgMHgyOjpjb2luOjpyZWRlZW1fZnVuZHMgY29udmVydHMgaXRcbiAgICogdG8gYSBDb2luPFQ+IHRoYXQgaXMgbWVyZ2VkIHdpdGggYW55IGNvaW4gb2JqZWN0cyBiZWZvcmUgc3BsaXR0aW5nLlxuICAgKi9cbiAgcHJvdGVjdGVkIF9mdW5kc0luQWRkcmVzc0JhbGFuY2U6IEJpZ051bWJlciA9IG5ldyBCaWdOdW1iZXIoMCk7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRva2VuVHJhbnNmZXJUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCBjb2luIHR5cGUgc3RyaW5nIGRlcml2ZWQgZnJvbSB0aGUgY29pbiBjb25maWcgKGUuZy4gYDB4YWJjOjpteV90b2tlbjo6TVlfVE9LRU5gKS5cbiAgICovXG4gIHByaXZhdGUgZ2V0IHRva2VuQ29pblR5cGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jb2luQ29uZmlnIGFzIFN1aUNvaW47XG4gICAgcmV0dXJuIGAke2NvbmZpZy5wYWNrYWdlSWR9Ojoke2NvbmZpZy5tb2R1bGV9Ojoke2NvbmZpZy5zeW1ib2x9YDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUb2tlblRyYW5zZmVyVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRyYW5zYWN0aW9uLnN1aVRyYW5zYWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVUcmFuc2FjdGlvbkZpZWxkcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHNpZ24oa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRTdWlUcmFuc2FjdGlvbih0aGlzLmJ1aWxkU3VpVHJhbnNhY3Rpb24oKSk7XG4gICAgc3VwZXIuc2lnbihrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uPFRva2VuVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4ID0gbmV3IFRva2VuVHJhbnNmZXJUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbjxUb2tlblRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+PiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRTdWlUcmFuc2FjdGlvbih0aGlzLmJ1aWxkU3VpVHJhbnNhY3Rpb24oKSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUodGhpcy50cmFuc2FjdGlvblR5cGUpO1xuXG4gICAgaWYgKHRoaXMuX3NpZ25lcikge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbi5zaWduKHRoaXMuX3NpZ25lcik7XG4gICAgfVxuXG4gICAgdGhpcy5fc2lnbmF0dXJlcy5mb3JFYWNoKChzaWduYXR1cmUpID0+IHtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uYWRkU2lnbmF0dXJlKHNpZ25hdHVyZS5wdWJsaWNLZXksIHNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUb2tlblRyYW5zZmVyVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHR4O1xuXG4gICAgaWYgKHR4LnNpZ25hdHVyZSAmJiB0eC5zaWduYXR1cmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fc2lnbmF0dXJlcyA9IFt0eC5zdWlTaWduYXR1cmVdO1xuICAgIH1cbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICB0aGlzLnR5cGUoU3VpVHJhbnNhY3Rpb25UeXBlLlRva2VuVHJhbnNmZXIpO1xuICAgIHRoaXMuc2VuZGVyKHR4RGF0YS5zZW5kZXIpO1xuICAgIHRoaXMuZ2FzRGF0YSh0eERhdGEuZ2FzRGF0YSk7XG5cbiAgICAvLyBPbmx5IHJlc3RvcmUgbWVhbmluZ2Z1bCBleHBpcmF0aW9ucyAoRXBvY2ggb3IgVmFsaWREdXJpbmcpIOKAlCBpZ25vcmUgTm9uZS5cbiAgICBpZiAodHhEYXRhLmV4cGlyYXRpb24gJiYgISgnTm9uZScgaW4gdHhEYXRhLmV4cGlyYXRpb24pKSB7XG4gICAgICB0aGlzLl9leHBpcmF0aW9uID0gdHhEYXRhLmV4cGlyYXRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcmVjaXBpZW50cyA9IHV0aWxzLmdldFJlY2lwaWVudHModHguc3VpVHJhbnNhY3Rpb24pO1xuICAgIHRoaXMuc2VuZChyZWNpcGllbnRzKTtcblxuICAgIC8vIFJlY29uc3RydWN0IGZ1bmRzSW5BZGRyZXNzQmFsYW5jZSBmcm9tIEJhbGFuY2VXaXRoZHJhd2FsIGlucHV0IGlmIHByZXNlbnQuXG4gICAgLy8gQWZ0ZXIgQkNTIGRlc2VyaWFsaXphdGlvbiBpbnB1dHMgYXJlIENhbGxBcmcgZm9ybWF0OiB7IEJhbGFuY2VXaXRoZHJhd2FsOiB7Li4ufSB9XG4gICAgLy8gRHVyaW5nIGJ1aWxkaW5nIHRoZXkgYXJlIFRyYW5zYWN0aW9uQmxvY2tJbnB1dCBmb3JtYXQ6IHsga2luZDonSW5wdXQnLCB2YWx1ZTogeyBCYWxhbmNlV2l0aGRyYXdhbDogey4uLn0gfSB9XG4gICAgY29uc3Qgd2l0aGRyYXdhbElucHV0ID0gKHR4LnN1aVRyYW5zYWN0aW9uPy50eD8uaW5wdXRzIGFzIGFueVtdKT8uZmluZChcbiAgICAgIChpbnB1dDogYW55KSA9PlxuICAgICAgICAoaW5wdXQgIT09IG51bGwgJiYgdHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyAmJiAnQmFsYW5jZVdpdGhkcmF3YWwnIGluIGlucHV0KSB8fFxuICAgICAgICAoaW5wdXQ/LnZhbHVlICE9PSBudWxsICYmIHR5cGVvZiBpbnB1dD8udmFsdWUgPT09ICdvYmplY3QnICYmICdCYWxhbmNlV2l0aGRyYXdhbCcgaW4gKGlucHV0LnZhbHVlID8/IHt9KSlcbiAgICApO1xuICAgIGlmICh3aXRoZHJhd2FsSW5wdXQpIHtcbiAgICAgIGNvbnN0IGJ3ID0gd2l0aGRyYXdhbElucHV0LkJhbGFuY2VXaXRoZHJhd2FsID8/IHdpdGhkcmF3YWxJbnB1dC52YWx1ZT8uQmFsYW5jZVdpdGhkcmF3YWw7XG4gICAgICB0aGlzLl9mdW5kc0luQWRkcmVzc0JhbGFuY2UgPSBuZXcgQmlnTnVtYmVyKFN0cmluZyhidy5hbW91bnQpKTtcbiAgICB9XG5cbiAgICBpZiAodHhEYXRhLmlucHV0T2JqZWN0cyAmJiB0eERhdGEuaW5wdXRPYmplY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaW5wdXRPYmplY3RzKHR4RGF0YS5pbnB1dE9iamVjdHMpO1xuICAgIH1cbiAgfVxuXG4gIHNlbmQocmVjaXBpZW50czogUmVjaXBpZW50W10pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlUmVjaXBpZW50cyhyZWNpcGllbnRzKTtcbiAgICB0aGlzLl9yZWNpcGllbnRzID0gcmVjaXBpZW50cztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGlucHV0T2JqZWN0cyhpbnB1dE9iamVjdDogU3VpT2JqZWN0UmVmW10pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlSW5wdXRPYmplY3RSZWZzKGlucHV0T2JqZWN0KTtcbiAgICB0aGlzLl9pbnB1dE9iamVjdHMgPSBpbnB1dE9iamVjdDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCBvZiB0b2tlbiBmdW5kcyBoZWxkIGluIHRoZSBTdWkgYWRkcmVzcyBiYWxhbmNlIHN5c3RlbSBmb3IgdGhpcyBzZW5kZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgLSBhbW91bnQgaW4gYmFzZSB1bml0cyBoZWxkIGluIGFkZHJlc3MgYmFsYW5jZVxuICAgKi9cbiAgZnVuZHNJbkFkZHJlc3NCYWxhbmNlKGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fZnVuZHNJbkFkZHJlc3NCYWxhbmNlID0gbmV3IEJpZ051bWJlcihhbW91bnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbGwgZmllbGRzIGFyZSBkZWZpbmVkIGNvcnJlY3RseVxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRyYW5zYWN0aW9uRmllbGRzKCk6IHZvaWQge1xuICAgIGFzc2VydCh0aGlzLl90eXBlLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCd0eXBlIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQodGhpcy5fc2VuZGVyLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdzZW5kZXIgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJykpO1xuICAgIGFzc2VydChcbiAgICAgIHRoaXMuX3JlY2lwaWVudHMgJiYgdGhpcy5fcmVjaXBpZW50cy5sZW5ndGggPiAwLFxuICAgICAgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignYXQgbGVhc3Qgb25lIHJlY2lwaWVudCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKVxuICAgICk7XG4gICAgYXNzZXJ0KHRoaXMuX2dhc0RhdGEsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2dhc0RhdGEgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nJykpO1xuICAgIHRoaXMudmFsaWRhdGVHYXNEYXRhKHRoaXMuX2dhc0RhdGEpO1xuXG4gICAgLy8gTXVzdCBoYXZlIGF0IGxlYXN0IGNvaW4gb2JqZWN0cyBPUiBhZGRyZXNzIGJhbGFuY2VcbiAgICBhc3NlcnQoXG4gICAgICAodGhpcy5faW5wdXRPYmplY3RzICYmIHRoaXMuX2lucHV0T2JqZWN0cy5sZW5ndGggPiAwKSB8fCB0aGlzLl9mdW5kc0luQWRkcmVzc0JhbGFuY2UuZ3QoMCksXG4gICAgICBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnB1dCBvYmplY3RzIG9yIGZ1bmRzSW5BZGRyZXNzQmFsYW5jZSByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKVxuICAgICk7XG4gICAgaWYgKHRoaXMuX2lucHV0T2JqZWN0cyAmJiB0aGlzLl9pbnB1dE9iamVjdHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52YWxpZGF0ZUlucHV0T2JqZWN0UmVmcyh0aGlzLl9pbnB1dE9iamVjdHMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBWYWxpZGF0ZXMgdGhlIGluZGl2aWR1YWwgb2JqZWN0IHJlZnMgKGRvZXMgbm90IHJlcXVpcmUgbm9uLWVtcHR5IGFycmF5KS4gKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0T2JqZWN0UmVmcyhpbnB1dE9iamVjdHM6IFN1aU9iamVjdFJlZltdKTogdm9pZCB7XG4gICAgaWYgKGlucHV0T2JqZWN0cykge1xuICAgICAgaW5wdXRPYmplY3RzLmZvckVhY2goKGlucHV0T2JqZWN0KSA9PiB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVTdWlPYmplY3RSZWYoaW5wdXRPYmplY3QsICdpbnB1dCBvYmplY3QnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBTdWlUcmFuc2FjdGlvbi5cbiAgICpcbiAgICogVHdvIGJ1aWxkIHBhdGhzOlxuICAgKlxuICAgKiBQYXRoIEEg4oCUIGNvaW4gb2JqZWN0cyBvbmx5IChmdW5kc0luQWRkcmVzc0JhbGFuY2UgPSAwKTpcbiAgICogICBNZXJnZUNvaW5zKGlucHV0T2JqZWN0WzBdLCBbaW5wdXRPYmplY3RbMS4uXV0pIOKGkiBTcGxpdENvaW5zIOKGkiBUcmFuc2Zlck9iamVjdHNcbiAgICpcbiAgICogUGF0aCBCIOKAlCBjb2luIG9iamVjdHMgKyBhZGRyZXNzIGJhbGFuY2UgKG9yIGFkZHJlc3MgYmFsYW5jZSBvbmx5KTpcbiAgICogICBNb3ZlQ2FsbCgweDI6OmNvaW46OnJlZGVlbV9mdW5kcywgW3dpdGhkcmF3YWwoYW1vdW50LCBjb2luVHlwZSldKSDihpIgQ29pbjxUPlxuICAgKiAgIE1lcmdlQ29pbnMoaW5wdXRPYmplY3RbMF0gfCBhZGRyQ29pbiwgW3Jlc3QuLi5dKSDihpIgU3BsaXRDb2lucyDihpIgVHJhbnNmZXJPYmplY3RzXG4gICAqXG4gICAqIEByZXR1cm4ge1N1aVRyYW5zYWN0aW9uPFRva2VuVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj59XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZFN1aVRyYW5zYWN0aW9uKCk6IFN1aVRyYW5zYWN0aW9uPFRva2VuVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudmFsaWRhdGVUcmFuc2FjdGlvbkZpZWxkcygpO1xuXG4gICAgY29uc3QgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyID0gbmV3IFByb2dyYW1taW5nVHJhbnNhY3Rpb25CbG9ja0J1aWxkZXIoKTtcblxuICAgIGNvbnN0IGlucHV0T2JqZWN0czogVHJhbnNhY3Rpb25Bcmd1bWVudFtdID0gKHRoaXMuX2lucHV0T2JqZWN0cyA/PyBbXSkubWFwKChvYmplY3QpID0+XG4gICAgICBwcm9ncmFtbWFibGVUeEJ1aWxkZXIub2JqZWN0KElucHV0cy5PYmplY3RSZWYob2JqZWN0KSlcbiAgICApO1xuXG4gICAgLy8gSWYgYWRkcmVzcyBiYWxhbmNlIGlzIGF2YWlsYWJsZSwgd2l0aGRyYXcgaXQgYXMgQ29pbjxUPiBhbmQgYWRkIHRvIHRoZSBwb29sXG4gICAgaWYgKHRoaXMuX2Z1bmRzSW5BZGRyZXNzQmFsYW5jZS5ndCgwKSkge1xuICAgICAgY29uc3QgY29pblR5cGUgPSB0aGlzLnRva2VuQ29pblR5cGU7XG4gICAgICBjb25zdCBbYWRkckNvaW5dID0gcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLm1vdmVDYWxsKHtcbiAgICAgICAgdGFyZ2V0OiAnMHgyOjpjb2luOjpyZWRlZW1fZnVuZHMnLFxuICAgICAgICB0eXBlQXJndW1lbnRzOiBbY29pblR5cGVdLFxuICAgICAgICBhcmd1bWVudHM6IFtcbiAgICAgICAgICBwcm9ncmFtbWFibGVUeEJ1aWxkZXIud2l0aGRyYXdhbCh7XG4gICAgICAgICAgICBhbW91bnQ6IEJpZ0ludCh0aGlzLl9mdW5kc0luQWRkcmVzc0JhbGFuY2UudG9GaXhlZCgpKSxcbiAgICAgICAgICAgIHR5cGU6IGNvaW5UeXBlLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgICBpbnB1dE9iamVjdHMucHVzaChhZGRyQ29pbik7XG4gICAgfVxuXG4gICAgY29uc3QgbWVyZ2VkT2JqZWN0ID0gaW5wdXRPYmplY3RzLnNoaWZ0KCkgYXMgVHJhbnNhY3Rpb25Bcmd1bWVudDtcbiAgICBpZiAoaW5wdXRPYmplY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIHByb2dyYW1tYWJsZVR4QnVpbGRlci5tZXJnZUNvaW5zKG1lcmdlZE9iamVjdCwgaW5wdXRPYmplY3RzKTtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWNpcGllbnRzLmZvckVhY2goKHJlY2lwaWVudCkgPT4ge1xuICAgICAgY29uc3Qgc3BsaXRPYmplY3QgPSBwcm9ncmFtbWFibGVUeEJ1aWxkZXIuc3BsaXRDb2lucyhtZXJnZWRPYmplY3QsIFtcbiAgICAgICAgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLnB1cmUoTnVtYmVyKHJlY2lwaWVudC5hbW91bnQpKSxcbiAgICAgIF0pO1xuICAgICAgcHJvZ3JhbW1hYmxlVHhCdWlsZGVyLnRyYW5zZmVyT2JqZWN0cyhbc3BsaXRPYmplY3RdLCBwcm9ncmFtbWFibGVUeEJ1aWxkZXIub2JqZWN0KHJlY2lwaWVudC5hZGRyZXNzKSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0eERhdGEgPSBwcm9ncmFtbWFibGVUeEJ1aWxkZXIuYmxvY2tEYXRhO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLl90eXBlLFxuICAgICAgc2VuZGVyOiB0aGlzLl9zZW5kZXIsXG4gICAgICB0eDoge1xuICAgICAgICBpbnB1dHM6IFsuLi50eERhdGEuaW5wdXRzXSxcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBbLi4udHhEYXRhLnRyYW5zYWN0aW9uc10sXG4gICAgICB9LFxuICAgICAgZ2FzRGF0YToge1xuICAgICAgICAuLi50aGlzLl9nYXNEYXRhLFxuICAgICAgfSxcbiAgICAgIGV4cGlyYXRpb246IHRoaXMuX2V4cGlyYXRpb24sXG4gICAgICBmdW5kc0luQWRkcmVzc0JhbGFuY2U6IHRoaXMuX2Z1bmRzSW5BZGRyZXNzQmFsYW5jZS5ndCgwKSA/IHRoaXMuX2Z1bmRzSW5BZGRyZXNzQmFsYW5jZS50b0ZpeGVkKCkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -48,7 +48,9 @@ export declare class TokenTransferTransaction extends Transaction<TokenTransferP
48
48
  */
49
49
  explainTokenTransferTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
50
50
  /**
51
- * Extracts the objects that were provided as inputs while building the transaction
51
+ * Extracts the objects that were provided as inputs while building the transaction.
52
+ * Handles both the simple case (MergeCoins/SplitCoins first) and the address-balance
53
+ * case where MoveCall(redeem_funds) may precede MergeCoins/SplitCoins.
52
54
  * @param tx
53
55
  * @returns {SuiObjectRef[]} Objects that are inputs for the transaction
54
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tokenTransferTransaction.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oCAAoC,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EACL,OAAO,EACP,SAAS,IAAI,aAAa,EAG1B,SAAS,EAET,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAYzB,qBAAa,wBAAyB,SAAQ,WAAW,CAAC,oCAAoC,CAAC;gBACjF,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAAC,oCAAoC,CAAC,CAEzE;IAED,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,oCAAoC,CAAC,GAAG,IAAI;IAIjF,kBAAkB;IAClB,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAgBhB,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAwB5C;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIvD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAqB5B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAchD;;;;OAIG;IACI,SAAS,IAAI,MAAM;IAwC1B;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAYhH;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CA2B9B"}
1
+ {"version":3,"file":"tokenTransferTransaction.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oCAAoC,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EACL,OAAO,EACP,SAAS,IAAI,aAAa,EAG1B,SAAS,EAET,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAYzB,qBAAa,wBAAyB,SAAQ,WAAW,CAAC,oCAAoC,CAAC;gBACjF,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAAC,oCAAoC,CAAC,CAEzE;IAED,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,oCAAoC,CAAC,GAAG,IAAI;IAIjF,kBAAkB;IAClB,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAgBhB,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAwB5C;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIvD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAqB5B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAchD;;;;OAIG;IACI,SAAS,IAAI,MAAM;IAgD1B;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAYhH;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CAiC9B"}