@bitgo-beta/sdk-coin-sol 2.4.3-beta.671 → 2.4.3-beta.673
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,UAAU,EACV,SAAS,IAAI,aAAa,EAG1B,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAa,WAAW,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAStF,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAI5B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAQ,KAAK,EAAY,MAAM,SAAS,CAAC;AAGvF,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,6BAA6B,CAAS;IAE9C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACtC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC;IAC5B,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,CAAM;IACtD,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IACnC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;gBAEnB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,8 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
42
42
|
this.feePayer(txData.feePayer);
|
|
43
43
|
this.nonce(txData.nonce, txData.durableNonce);
|
|
44
44
|
this._instructionsData = (0, instructionParamsFactory_1.instructionParamsFactory)(tx.type, tx.solTransaction.instructions);
|
|
45
|
+
// Parse priority fee instruction data
|
|
46
|
+
const filteredPriorityFeeInstructionsData = txData.instructionsData.filter((data) => data.type === constants_1.InstructionBuilderTypes.SetPriorityFee);
|
|
45
47
|
for (const instruction of this._instructionsData) {
|
|
46
48
|
if (instruction.type === constants_1.InstructionBuilderTypes.Memo) {
|
|
47
49
|
const memoInstruction = instruction;
|
|
@@ -51,6 +53,11 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
51
53
|
const advanceNonceInstruction = instruction;
|
|
52
54
|
this.nonce(txData.nonce, advanceNonceInstruction.params);
|
|
53
55
|
}
|
|
56
|
+
// If prio fee instruction exists, set the priority fee variable
|
|
57
|
+
if (instruction.type === constants_1.InstructionBuilderTypes.SetPriorityFee) {
|
|
58
|
+
const priorityFeeInstructionsData = filteredPriorityFeeInstructionsData[0];
|
|
59
|
+
this.setPriorityFee({ amount: Number(priorityFeeInstructionsData.params.fee) });
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
63
|
/** @inheritdoc */
|
|
@@ -293,4 +300,4 @@ class TransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
|
|
|
293
300
|
}
|
|
294
301
|
}
|
|
295
302
|
exports.TransactionBuilder = TransactionBuilder;
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsbURBVThCO0FBQzlCLCtDQUE0QztBQUM1Qyw2Q0FBc0Y7QUFDdEYsbUNBT2lCO0FBQ2pCLHdCQUE0QjtBQUM1QiwyQ0FBc0Q7QUFDdEQsbUVBQWdFO0FBQ2hFLG9EQUE0QjtBQUU1Qix5RUFBc0U7QUFFdEUsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBZXJFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBZGIsZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO1FBTzVCLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFDNUMsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQU9qQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBT0Q7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUUzQixNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ3JFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLG1DQUF1QixDQUFDLFFBQVEsQ0FDekQsQ0FBQztRQUNGLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxnQ0FBZ0MsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSx3QkFBd0IsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQWEsQ0FBQztZQUNqRixNQUFNLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN2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LE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHFCQUFxQixDQUFDLEdBQVk7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUMzQixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLElBQUksdUJBQVksQ0FBQyxxQkFBcUIsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbEYsQ0FBQztJQUNILENBQUM7Q0FFRjtBQTVVRCxnREE0VUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBGZWVPcHRpb25zLFxuICBQdWJsaWNLZXkgYXMgQmFzZVB1YmxpY0tleSxcbiAgU2lnbmF0dXJlLFxuICBTaWduaW5nRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJsb2NraGFzaCwgUHVibGljS2V5LCBUcmFuc2FjdGlvbiBhcyBTb2xUcmFuc2FjdGlvbiB9IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkQWRkcmVzcyxcbiAgaXNWYWxpZEFtb3VudCxcbiAgaXNWYWxpZEJsb2NrSWQsXG4gIGlzVmFsaWRNZW1vLFxuICB2YWxpZGF0ZUFkZHJlc3MsXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24sXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4nO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBzb2xJbnN0cnVjdGlvbkZhY3RvcnkgfSBmcm9tICcuL3NvbEluc3RydWN0aW9uRmFjdG9yeSc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBEdXJhYmxlTm9uY2VQYXJhbXMsIEluc3RydWN0aW9uUGFyYW1zLCBNZW1vLCBOb25jZSwgVHJhbnNmZXIgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGluc3RydWN0aW9uUGFyYW1zRmFjdG9yeSB9IGZyb20gJy4vaW5zdHJ1Y3Rpb25QYXJhbXNGYWN0b3J5JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlczogU2lnbmF0dXJlW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGFtcG9ydHNQZXJTaWduYXR1cmU6IG51bWJlcjtcbiAgcHJpdmF0ZSBfdG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfc2VuZGVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcmVjZW50QmxvY2toYXNoOiBCbG9ja2hhc2g7XG4gIHByb3RlY3RlZCBfbm9uY2VJbmZvOiBOb25jZTtcbiAgcHJvdGVjdGVkIF9pbnN0cnVjdGlvbnNEYXRhOiBJbnN0cnVjdGlvblBhcmFtc1tdID0gW107XG4gIHByb3RlY3RlZCBfc2lnbmVyczogS2V5UGFpcltdID0gW107XG4gIHByb3RlY3RlZCBfbWVtbz86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9mZWVQYXllcj86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wcmlvcml0eUZlZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcblxuICAgIGNvbnN0IGZpbHRlcmVkVHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhID0gdHhEYXRhLmluc3RydWN0aW9uc0RhdGEuZmlsdGVyKFxuICAgICAgKGRhdGEpID0+IGRhdGEudHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVHJhbnNmZXJcbiAgICApO1xuICAgIGxldCBzZW5kZXI7XG4gICAgaWYgKGZpbHRlcmVkVHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHRyYW5zZmVySW5zdHJ1Y3Rpb25zRGF0YSA9IGZpbHRlcmVkVHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhWzBdIGFzIFRyYW5zZmVyO1xuICAgICAgc2VuZGVyID0gdHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhLnBhcmFtcy5mcm9tQWRkcmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgc2VuZGVyID0gdHhEYXRhLmZlZVBheWVyO1xuICAgIH1cbiAgICB0aGlzLnNlbmRlcihzZW5kZXIpO1xuICAgIHRoaXMuZmVlUGF5ZXIodHhEYXRhLmZlZVBheWVyIGFzIHN0cmluZyk7XG4gICAgdGhpcy5ub25jZSh0eERhdGEubm9uY2UsIHR4RGF0YS5kdXJhYmxlTm9uY2UpO1xuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPSBpbnN0cnVjdGlvblBhcmFtc0ZhY3RvcnkodHgudHlwZSwgdHguc29sVHJhbnNhY3Rpb24uaW5zdHJ1Y3Rpb25zKTtcblxuICAgIGZvciAoY29uc3QgaW5zdHJ1Y3Rpb24gb2YgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgICAgaWYgKGluc3RydWN0aW9uLnR5cGUgPT09IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLk1lbW8pIHtcbiAgICAgICAgY29uc3QgbWVtb0luc3RydWN0aW9uOiBNZW1vID0gaW5zdHJ1Y3Rpb247XG4gICAgICAgIHRoaXMubWVtbyhtZW1vSW5zdHJ1Y3Rpb24ucGFyYW1zLm1lbW8pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuTm9uY2VBZHZhbmNlKSB7XG4gICAgICAgIGNvbnN0IGFkdmFuY2VOb25jZUluc3RydWN0aW9uOiBOb25jZSA9IGluc3RydWN0aW9uO1xuICAgICAgICB0aGlzLm5vbmNlKHR4RGF0YS5ub25jZSwgYWR2YW5jZU5vbmNlSW5zdHJ1Y3Rpb24ucGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLmluaXRCdWlsZGVyKHR4KTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zb2xUcmFuc2FjdGlvbiA9IHRoaXMuYnVpbGRTb2xUcmFuc2FjdGlvbigpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKHRoaXMudHJhbnNhY3Rpb25UeXBlKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24udG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudCA9IHRoaXMuX3Rva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQ7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBzb2xhbmEgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRTb2xUcmFuc2FjdGlvbigpOiBTb2xUcmFuc2FjdGlvbiB7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignc2VuZGVyIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQodGhpcy5fcmVjZW50QmxvY2toYXNoLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdyZWNlbnQgYmxvY2toYXNoIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcblxuICAgIGNvbnN0IHR4ID0gbmV3IFNvbFRyYW5zYWN0aW9uKCk7XG4gICAgaWYgKHRoaXMuX3RyYW5zYWN0aW9uPy5zb2xUcmFuc2FjdGlvbj8uc2lnbmF0dXJlcykge1xuICAgICAgdHguc2lnbmF0dXJlcyA9IHRoaXMuX3RyYW5zYWN0aW9uPy5zb2xUcmFuc2FjdGlvbj8uc2lnbmF0dXJlcztcbiAgICB9XG5cbiAgICB0eC5mZWVQYXllciA9IHRoaXMuX2ZlZVBheWVyID8gbmV3IFB1YmxpY0tleSh0aGlzLl9mZWVQYXllcikgOiBuZXcgUHVibGljS2V5KHRoaXMuX3NlbmRlcik7XG5cbiAgICBpZiAodGhpcy5fbm9uY2VJbmZvKSB7XG4gICAgICB0eC5ub25jZUluZm8gPSB7XG4gICAgICAgIG5vbmNlOiB0aGlzLl9yZWNlbnRCbG9ja2hhc2gsXG4gICAgICAgIG5vbmNlSW5zdHJ1Y3Rpb246IHNvbEluc3RydWN0aW9uRmFjdG9yeSh0aGlzLl9ub25jZUluZm8pWzBdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHgucmVjZW50QmxvY2toYXNoID0gdGhpcy5fcmVjZW50QmxvY2toYXNoO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIHR4LmFkZCguLi5zb2xJbnN0cnVjdGlvbkZhY3RvcnkoaW5zdHJ1Y3Rpb24pKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbWVtbykge1xuICAgICAgY29uc3QgbWVtb0RhdGE6IE1lbW8gPSB7XG4gICAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLk1lbW8sXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIG1lbW86IHRoaXMuX21lbW8sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YS5wdXNoKG1lbW9EYXRhKTtcbiAgICAgIHR4LmFkZCguLi5zb2xJbnN0cnVjdGlvbkZhY3RvcnkobWVtb0RhdGEpKTtcbiAgICB9XG5cbiAgICB0aGlzLl90cmFuc2FjdGlvbi5sYW1wb3J0c1BlclNpZ25hdHVyZSA9IHRoaXMuX2xhbXBvcnRzUGVyU2lnbmF0dXJlO1xuXG4gICAgZm9yIChjb25zdCBzaWduZXIgb2YgdGhpcy5fc2lnbmVycykge1xuICAgICAgY29uc3QgcHVibGljS2V5ID0gbmV3IFB1YmxpY0tleShzaWduZXIuZ2V0S2V5cygpLnB1Yik7XG4gICAgICBjb25zdCBzZWNyZXRLZXkgPSBzaWduZXIuZ2V0S2V5cyh0cnVlKS5wcnY7XG4gICAgICBhc3NlcnQoc2VjcmV0S2V5IGluc3RhbmNlb2YgVWludDhBcnJheSk7XG4gICAgICB0eC5wYXJ0aWFsU2lnbih7IHB1YmxpY0tleSwgc2VjcmV0S2V5IH0pO1xuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc2lnbmF0dXJlIG9mIHRoaXMuX3NpZ25hdHVyZXMpIHtcbiAgICAgIGNvbnN0IHNvbFB1YmxpY0tleSA9IG5ldyBQdWJsaWNLZXkoc2lnbmF0dXJlLnB1YmxpY0tleS5wdWIpO1xuICAgICAgdHguYWRkU2lnbmF0dXJlKHNvbFB1YmxpY0tleSwgc2lnbmF0dXJlLnNpZ25hdHVyZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLy8gcmVnaW9uIEdldHRlcnMgYW5kIFNldHRlcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2V0IHRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhpcy52YWxpZGF0ZUtleShrZXkpO1xuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVkU2lnbmVyKGtleSk7XG4gICAgY29uc3QgcHJ2ID0ga2V5LmtleTtcbiAgICBjb25zdCBzaWduZXIgPSBuZXcgS2V5UGFpcih7IHBydjogcHJ2IH0pO1xuICAgIHRoaXMuX3NpZ25lcnMucHVzaChzaWduZXIpO1xuXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IEJhc2VQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgcHVibGljS2V5LCBzaWduYXR1cmUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VuZGVyIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqIFRoaXMgYWNjb3VudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwYXlpbmcgdHJhbnNhY3Rpb24gZmVlcy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbmRlckFkZHJlc3MgdGhlIGFjY291bnQgdGhhdCBpcyBzZW5kaW5nIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZW5kZXIoc2VuZGVyQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdmFsaWRhdGVBZGRyZXNzKHNlbmRlckFkZHJlc3MsICdzZW5kZXInKTtcbiAgICB0aGlzLl9zZW5kZXIgPSBzZW5kZXJBZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gbm9uY2VcbiAgICogUmVxdWlyZXMgYm90aCBvcHRpb25hbCBwYXJhbXMgaW4gb3JkZXIgdG8gdXNlIHRoZSBkdXJhYmxlIG5vbmNlXG4gICAqXG4gICAqIEBwYXJhbSB7QmxvY2toYXNofSBibG9ja0hhc2ggVGhlIGxhdGVzdCBibG9ja0hhc2hcbiAgICogQHBhcmFtIHtEdXJhYmxlTm9uY2VQYXJhbXN9IFtkdXJhYmxlTm9uY2VQYXJhbXNdIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSB3YWxsZXROb25jZUFkZHJlc3MgYW5kIHRoZSBhdXRoV2FsbGV0QWRkcmVzcyAocmVxdWlyZWQgZm9yIGR1cmFibGUgbm9uY2UpXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgbm9uY2UoYmxvY2tIYXNoOiBCbG9ja2hhc2gsIGR1cmFibGVOb25jZVBhcmFtcz86IER1cmFibGVOb25jZVBhcmFtcyk6IHRoaXMge1xuICAgIGlmICghYmxvY2tIYXNoIHx8ICFpc1ZhbGlkQmxvY2tJZChibG9ja0hhc2gpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYmxvY2tIYXNoLCBnb3Q6ICcgKyBibG9ja0hhc2gpO1xuICAgIH1cbiAgICBpZiAoZHVyYWJsZU5vbmNlUGFyYW1zKSB7XG4gICAgICB2YWxpZGF0ZUFkZHJlc3MoZHVyYWJsZU5vbmNlUGFyYW1zLndhbGxldE5vbmNlQWRkcmVzcywgJ3dhbGxldE5vbmNlQWRkcmVzcycpO1xuICAgICAgdmFsaWRhdGVBZGRyZXNzKGR1cmFibGVOb25jZVBhcmFtcy5hdXRoV2FsbGV0QWRkcmVzcywgJ2F1dGhXYWxsZXRBZGRyZXNzJyk7XG4gICAgICBpZiAoZHVyYWJsZU5vbmNlUGFyYW1zLndhbGxldE5vbmNlQWRkcmVzcyA9PT0gZHVyYWJsZU5vbmNlUGFyYW1zLmF1dGhXYWxsZXRBZGRyZXNzKSB7XG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcGFyYW1zOiB3YWxsZXROb25jZUFkZHJlc3MgY2Fubm90IGJlIGVxdWFsIHRvIGF1dGhXYWxsZXRBZGRyZXNzJyk7XG4gICAgICB9XG4gICAgICB0aGlzLl9ub25jZUluZm8gPSB7XG4gICAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLk5vbmNlQWR2YW5jZSxcbiAgICAgICAgcGFyYW1zOiBkdXJhYmxlTm9uY2VQYXJhbXMsXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLl9yZWNlbnRCbG9ja2hhc2ggPSBibG9ja0hhc2g7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogIFNldCB0aGUgbWVtb1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVtb1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIG1lbW8obWVtbzogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZU1lbW8obWVtbyk7XG4gICAgdGhpcy5fbWVtbyA9IG1lbW87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmZWUoZmVlT3B0aW9uczogRmVlT3B0aW9ucyk6IHRoaXMge1xuICAgIHRoaXMuX2xhbXBvcnRzUGVyU2lnbmF0dXJlID0gTnVtYmVyKGZlZU9wdGlvbnMuYW1vdW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRQcmlvcml0eUZlZShmZWVPcHRpb25zOiBGZWVPcHRpb25zKTogdGhpcyB7XG4gICAgdGhpcy5fcHJpb3JpdHlGZWUgPSBOdW1iZXIoZmVlT3B0aW9ucy5hbW91bnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZmVlUGF5ZXIoZmVlUGF5ZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2ZlZVBheWVyID0gZmVlUGF5ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBzZXQgdGhlIG1pbmltdW0gcmVudCBleGVtcHQgYW1vdW50IGZvciBhbiBBVEFcbiAgICpcbiAgICogQHBhcmFtIHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQgbWluaW11bSByZW50IGV4ZW1wdCBhbW91bnQgaW4gbGFtcG9ydHNcbiAgICovXG4gIGFzc29jaWF0ZWRUb2tlbkFjY291bnRSZW50KHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVSZW50RXhlbXB0QW1vdW50KHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQpO1xuICAgIHRoaXMuX3Rva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQgPSB0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVJlbnRFeGVtcHRBbW91bnQodG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudDogc3RyaW5nKSB7XG4gICAgLy8gX3Rva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQgaXMgYWxsb3dlZCB0byBiZSB1bmRlZmluZWQgb3IgYSB2YWxpZCBhbW91bnQgaWYgaXQncyBkZWZpbmVkXG4gICAgaWYgKHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQgJiYgIWlzVmFsaWRBbW91bnQodG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudCwgZ290OiAnICsgdG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzICcgKyBhZGRyZXNzLmFkZHJlc3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBsZXQga2V5UGFpcjogS2V5UGFpcjtcbiAgICB0cnkge1xuICAgICAga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG5cbiAgICBpZiAoIWtleVBhaXIuZ2V0S2V5cygpLnBydikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZVNlbmRlcigpO1xuICAgIHRoaXMudmFsaWRhdGVOb25jZSgpO1xuICAgIHRoaXMudmFsaWRhdGVSZW50RXhlbXB0QW1vdW50KHRoaXMuX3Rva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc0xlc3NUaGFuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgbGVzcyB0aGFuIHplcm8nKTtcbiAgICB9XG4gIH1cbiAgLyoqIFZhbGlkYXRlcyB0aGUgbWVtb1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVtbyAtIHRoZSBtZW1vIGFzIHN0cmluZ1xuICAgKi9cbiAgdmFsaWRhdGVNZW1vKG1lbW86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghbWVtbykge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBtZW1vLCBnb3Q6ICcgKyBtZW1vKTtcbiAgICB9XG4gICAgaWYgKCFpc1ZhbGlkTWVtbyhtZW1vKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWVtbyBpcyB0b28gbG9uZycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhhdCB0aGUgZ2l2ZW4ga2V5IGlzIG5vdCBhbHJlYWR5IGluIHRoaXMuX3NpZ25lcnNcbiAgICpcbiAgICogQHBhcmFtIHtCYXNlS2V5fSBrZXkgLSBUaGUga2V5IHRvIGNoZWNrXG4gICAqL1xuICBwcml2YXRlIGNoZWNrRHVwbGljYXRlZFNpZ25lcihrZXk6IEJhc2VLZXkpIHtcbiAgICB0aGlzLl9zaWduZXJzLmZvckVhY2goKGtwKSA9PiB7XG4gICAgICBpZiAoa3AuZ2V0S2V5cygpLnBydiA9PT0ga2V5LmtleSkge1xuICAgICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdEdXBsaWNhdGVkIHNpZ25lcjogJyArIGtleS5rZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IHRoZSBzZW5kZXIgZmllbGQgaXMgZGVmaW5lZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNlbmRlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VuZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3Npbmcgc2VuZGVyJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IHRoZSBub25jZSBmaWVsZCBpcyBkZWZpbmVkXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlTm9uY2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JlY2VudEJsb2NraGFzaCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIG5vbmNlIGJsb2NraGFzaCcpO1xuICAgIH1cbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsbURBVThCO0FBQzlCLCtDQUE0QztBQUM1Qyw2Q0FBc0Y7QUFDdEYsbUNBT2lCO0FBQ2pCLHdCQUE0QjtBQUM1QiwyQ0FBc0Q7QUFDdEQsbUVBQWdFO0FBQ2hFLG9EQUE0QjtBQUU1Qix5RUFBc0U7QUFFdEUsTUFBc0Isa0JBQW1CLFNBQVEsaUNBQXNCO0lBZXJFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBZGIsZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO1FBTzVCLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFDNUMsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQU9qQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBT0Q7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUUzQixNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ3JFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLG1DQUF1QixDQUFDLFFBQVEsQ0FDekQsQ0FBQztRQUNGLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxnQ0FBZ0MsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSx3QkFBd0IsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQWEsQ0FBQztZQUNqRixNQUFNLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN2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LGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbEYsQ0FBQztJQUNILENBQUM7Q0FFRjtBQXRWRCxnREFzVkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBGZWVPcHRpb25zLFxuICBQdWJsaWNLZXkgYXMgQmFzZVB1YmxpY0tleSxcbiAgU2lnbmF0dXJlLFxuICBTaWduaW5nRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJsb2NraGFzaCwgUHVibGljS2V5LCBUcmFuc2FjdGlvbiBhcyBTb2xUcmFuc2FjdGlvbiB9IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkQWRkcmVzcyxcbiAgaXNWYWxpZEFtb3VudCxcbiAgaXNWYWxpZEJsb2NrSWQsXG4gIGlzVmFsaWRNZW1vLFxuICB2YWxpZGF0ZUFkZHJlc3MsXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24sXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4nO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBzb2xJbnN0cnVjdGlvbkZhY3RvcnkgfSBmcm9tICcuL3NvbEluc3RydWN0aW9uRmFjdG9yeSc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBEdXJhYmxlTm9uY2VQYXJhbXMsIEluc3RydWN0aW9uUGFyYW1zLCBNZW1vLCBOb25jZSwgVHJhbnNmZXIgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGluc3RydWN0aW9uUGFyYW1zRmFjdG9yeSB9IGZyb20gJy4vaW5zdHJ1Y3Rpb25QYXJhbXNGYWN0b3J5JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlczogU2lnbmF0dXJlW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGFtcG9ydHNQZXJTaWduYXR1cmU6IG51bWJlcjtcbiAgcHJpdmF0ZSBfdG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBfc2VuZGVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcmVjZW50QmxvY2toYXNoOiBCbG9ja2hhc2g7XG4gIHByb3RlY3RlZCBfbm9uY2VJbmZvOiBOb25jZTtcbiAgcHJvdGVjdGVkIF9pbnN0cnVjdGlvbnNEYXRhOiBJbnN0cnVjdGlvblBhcmFtc1tdID0gW107XG4gIHByb3RlY3RlZCBfc2lnbmVyczogS2V5UGFpcltdID0gW107XG4gIHByb3RlY3RlZCBfbWVtbz86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9mZWVQYXllcj86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wcmlvcml0eUZlZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0eDtcbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcblxuICAgIGNvbnN0IGZpbHRlcmVkVHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhID0gdHhEYXRhLmluc3RydWN0aW9uc0RhdGEuZmlsdGVyKFxuICAgICAgKGRhdGEpID0+IGRhdGEudHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVHJhbnNmZXJcbiAgICApO1xuICAgIGxldCBzZW5kZXI7XG4gICAgaWYgKGZpbHRlcmVkVHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHRyYW5zZmVySW5zdHJ1Y3Rpb25zRGF0YSA9IGZpbHRlcmVkVHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhWzBdIGFzIFRyYW5zZmVyO1xuICAgICAgc2VuZGVyID0gdHJhbnNmZXJJbnN0cnVjdGlvbnNEYXRhLnBhcmFtcy5mcm9tQWRkcmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgc2VuZGVyID0gdHhEYXRhLmZlZVBheWVyO1xuICAgIH1cbiAgICB0aGlzLnNlbmRlcihzZW5kZXIpO1xuICAgIHRoaXMuZmVlUGF5ZXIodHhEYXRhLmZlZVBheWVyIGFzIHN0cmluZyk7XG4gICAgdGhpcy5ub25jZSh0eERhdGEubm9uY2UsIHR4RGF0YS5kdXJhYmxlTm9uY2UpO1xuICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEgPSBpbnN0cnVjdGlvblBhcmFtc0ZhY3RvcnkodHgudHlwZSwgdHguc29sVHJhbnNhY3Rpb24uaW5zdHJ1Y3Rpb25zKTtcbiAgICAvLyBQYXJzZSBwcmlvcml0eSBmZWUgaW5zdHJ1Y3Rpb24gZGF0YVxuICAgIGNvbnN0IGZpbHRlcmVkUHJpb3JpdHlGZWVJbnN0cnVjdGlvbnNEYXRhID0gdHhEYXRhLmluc3RydWN0aW9uc0RhdGEuZmlsdGVyKFxuICAgICAgKGRhdGEpID0+IGRhdGEudHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuU2V0UHJpb3JpdHlGZWVcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuTWVtbykge1xuICAgICAgICBjb25zdCBtZW1vSW5zdHJ1Y3Rpb246IE1lbW8gPSBpbnN0cnVjdGlvbjtcbiAgICAgICAgdGhpcy5tZW1vKG1lbW9JbnN0cnVjdGlvbi5wYXJhbXMubWVtbyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Ob25jZUFkdmFuY2UpIHtcbiAgICAgICAgY29uc3QgYWR2YW5jZU5vbmNlSW5zdHJ1Y3Rpb246IE5vbmNlID0gaW5zdHJ1Y3Rpb247XG4gICAgICAgIHRoaXMubm9uY2UodHhEYXRhLm5vbmNlLCBhZHZhbmNlTm9uY2VJbnN0cnVjdGlvbi5wYXJhbXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBwcmlvIGZlZSBpbnN0cnVjdGlvbiBleGlzdHMsIHNldCB0aGUgcHJpb3JpdHkgZmVlIHZhcmlhYmxlXG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuU2V0UHJpb3JpdHlGZWUpIHtcbiAgICAgICAgY29uc3QgcHJpb3JpdHlGZWVJbnN0cnVjdGlvbnNEYXRhID0gZmlsdGVyZWRQcmlvcml0eUZlZUluc3RydWN0aW9uc0RhdGFbMF07XG4gICAgICAgIHRoaXMuc2V0UHJpb3JpdHlGZWUoeyBhbW91bnQ6IE51bWJlcihwcmlvcml0eUZlZUluc3RydWN0aW9uc0RhdGEucGFyYW1zLmZlZSkgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0aGlzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc29sVHJhbnNhY3Rpb24gPSB0aGlzLmJ1aWxkU29sVHJhbnNhY3Rpb24oKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZSh0aGlzLnRyYW5zYWN0aW9uVHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5sb2FkSW5wdXRzQW5kT3V0cHV0cygpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQgPSB0aGlzLl90b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50O1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgc29sYW5hIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkU29sVHJhbnNhY3Rpb24oKTogU29sVHJhbnNhY3Rpb24ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ3NlbmRlciBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX3JlY2VudEJsb2NraGFzaCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigncmVjZW50IGJsb2NraGFzaCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG5cbiAgICBjb25zdCB0eCA9IG5ldyBTb2xUcmFuc2FjdGlvbigpO1xuICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbj8uc29sVHJhbnNhY3Rpb24/LnNpZ25hdHVyZXMpIHtcbiAgICAgIHR4LnNpZ25hdHVyZXMgPSB0aGlzLl90cmFuc2FjdGlvbj8uc29sVHJhbnNhY3Rpb24/LnNpZ25hdHVyZXM7XG4gICAgfVxuXG4gICAgdHguZmVlUGF5ZXIgPSB0aGlzLl9mZWVQYXllciA/IG5ldyBQdWJsaWNLZXkodGhpcy5fZmVlUGF5ZXIpIDogbmV3IFB1YmxpY0tleSh0aGlzLl9zZW5kZXIpO1xuXG4gICAgaWYgKHRoaXMuX25vbmNlSW5mbykge1xuICAgICAgdHgubm9uY2VJbmZvID0ge1xuICAgICAgICBub25jZTogdGhpcy5fcmVjZW50QmxvY2toYXNoLFxuICAgICAgICBub25jZUluc3RydWN0aW9uOiBzb2xJbnN0cnVjdGlvbkZhY3RvcnkodGhpcy5fbm9uY2VJbmZvKVswXSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHR4LnJlY2VudEJsb2NraGFzaCA9IHRoaXMuX3JlY2VudEJsb2NraGFzaDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICB0eC5hZGQoLi4uc29sSW5zdHJ1Y3Rpb25GYWN0b3J5KGluc3RydWN0aW9uKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX21lbW8pIHtcbiAgICAgIGNvbnN0IG1lbW9EYXRhOiBNZW1vID0ge1xuICAgICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5NZW1vLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBtZW1vOiB0aGlzLl9tZW1vLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHRoaXMuX2luc3RydWN0aW9uc0RhdGEucHVzaChtZW1vRGF0YSk7XG4gICAgICB0eC5hZGQoLi4uc29sSW5zdHJ1Y3Rpb25GYWN0b3J5KG1lbW9EYXRhKSk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ubGFtcG9ydHNQZXJTaWduYXR1cmUgPSB0aGlzLl9sYW1wb3J0c1BlclNpZ25hdHVyZTtcblxuICAgIGZvciAoY29uc3Qgc2lnbmVyIG9mIHRoaXMuX3NpZ25lcnMpIHtcbiAgICAgIGNvbnN0IHB1YmxpY0tleSA9IG5ldyBQdWJsaWNLZXkoc2lnbmVyLmdldEtleXMoKS5wdWIpO1xuICAgICAgY29uc3Qgc2VjcmV0S2V5ID0gc2lnbmVyLmdldEtleXModHJ1ZSkucHJ2O1xuICAgICAgYXNzZXJ0KHNlY3JldEtleSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpO1xuICAgICAgdHgucGFydGlhbFNpZ24oeyBwdWJsaWNLZXksIHNlY3JldEtleSB9KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHNpZ25hdHVyZSBvZiB0aGlzLl9zaWduYXR1cmVzKSB7XG4gICAgICBjb25zdCBzb2xQdWJsaWNLZXkgPSBuZXcgUHVibGljS2V5KHNpZ25hdHVyZS5wdWJsaWNLZXkucHViKTtcbiAgICAgIHR4LmFkZFNpZ25hdHVyZShzb2xQdWJsaWNLZXksIHNpZ25hdHVyZS5zaWduYXR1cmUpO1xuICAgIH1cblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBHZXR0ZXJzIGFuZCBTZXR0ZXJzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVLZXkoa2V5KTtcbiAgICB0aGlzLmNoZWNrRHVwbGljYXRlZFNpZ25lcihrZXkpO1xuICAgIGNvbnN0IHBydiA9IGtleS5rZXk7XG4gICAgY29uc3Qgc2lnbmVyID0gbmV3IEtleVBhaXIoeyBwcnY6IHBydiB9KTtcbiAgICB0aGlzLl9zaWduZXJzLnB1c2goc2lnbmVyKTtcblxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBCYXNlUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNlbmRlciBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKiBUaGlzIGFjY291bnQgd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgcGF5aW5nIHRyYW5zYWN0aW9uIGZlZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZW5kZXJBZGRyZXNzIHRoZSBhY2NvdW50IHRoYXQgaXMgc2VuZGluZyB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgc2VuZGVyKHNlbmRlckFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyhzZW5kZXJBZGRyZXNzLCAnc2VuZGVyJyk7XG4gICAgdGhpcy5fc2VuZGVyID0gc2VuZGVyQWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIG5vbmNlXG4gICAqIFJlcXVpcmVzIGJvdGggb3B0aW9uYWwgcGFyYW1zIGluIG9yZGVyIHRvIHVzZSB0aGUgZHVyYWJsZSBub25jZVxuICAgKlxuICAgKiBAcGFyYW0ge0Jsb2NraGFzaH0gYmxvY2tIYXNoIFRoZSBsYXRlc3QgYmxvY2tIYXNoXG4gICAqIEBwYXJhbSB7RHVyYWJsZU5vbmNlUGFyYW1zfSBbZHVyYWJsZU5vbmNlUGFyYW1zXSBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgd2FsbGV0Tm9uY2VBZGRyZXNzIGFuZCB0aGUgYXV0aFdhbGxldEFkZHJlc3MgKHJlcXVpcmVkIGZvciBkdXJhYmxlIG5vbmNlKVxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIG5vbmNlKGJsb2NrSGFzaDogQmxvY2toYXNoLCBkdXJhYmxlTm9uY2VQYXJhbXM/OiBEdXJhYmxlTm9uY2VQYXJhbXMpOiB0aGlzIHtcbiAgICBpZiAoIWJsb2NrSGFzaCB8fCAhaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBvciBtaXNzaW5nIGJsb2NrSGFzaCwgZ290OiAnICsgYmxvY2tIYXNoKTtcbiAgICB9XG4gICAgaWYgKGR1cmFibGVOb25jZVBhcmFtcykge1xuICAgICAgdmFsaWRhdGVBZGRyZXNzKGR1cmFibGVOb25jZVBhcmFtcy53YWxsZXROb25jZUFkZHJlc3MsICd3YWxsZXROb25jZUFkZHJlc3MnKTtcbiAgICAgIHZhbGlkYXRlQWRkcmVzcyhkdXJhYmxlTm9uY2VQYXJhbXMuYXV0aFdhbGxldEFkZHJlc3MsICdhdXRoV2FsbGV0QWRkcmVzcycpO1xuICAgICAgaWYgKGR1cmFibGVOb25jZVBhcmFtcy53YWxsZXROb25jZUFkZHJlc3MgPT09IGR1cmFibGVOb25jZVBhcmFtcy5hdXRoV2FsbGV0QWRkcmVzcykge1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHBhcmFtczogd2FsbGV0Tm9uY2VBZGRyZXNzIGNhbm5vdCBiZSBlcXVhbCB0byBhdXRoV2FsbGV0QWRkcmVzcycpO1xuICAgICAgfVxuICAgICAgdGhpcy5fbm9uY2VJbmZvID0ge1xuICAgICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Ob25jZUFkdmFuY2UsXG4gICAgICAgIHBhcmFtczogZHVyYWJsZU5vbmNlUGFyYW1zLFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5fcmVjZW50QmxvY2toYXNoID0gYmxvY2tIYXNoO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqICBTZXQgdGhlIG1lbW9cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lbW9cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBtZW1vKG1lbW86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVNZW1vKG1lbW8pO1xuICAgIHRoaXMuX21lbW8gPSBtZW1vO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZmVlKGZlZU9wdGlvbnM6IEZlZU9wdGlvbnMpOiB0aGlzIHtcbiAgICB0aGlzLl9sYW1wb3J0c1BlclNpZ25hdHVyZSA9IE51bWJlcihmZWVPcHRpb25zLmFtb3VudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2V0UHJpb3JpdHlGZWUoZmVlT3B0aW9uczogRmVlT3B0aW9ucyk6IHRoaXMge1xuICAgIHRoaXMuX3ByaW9yaXR5RmVlID0gTnVtYmVyKGZlZU9wdGlvbnMuYW1vdW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGZlZVBheWVyKGZlZVBheWVyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9mZWVQYXllciA9IGZlZVBheWVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc2V0IHRoZSBtaW5pbXVtIHJlbnQgZXhlbXB0IGFtb3VudCBmb3IgYW4gQVRBXG4gICAqXG4gICAqIEBwYXJhbSB0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50IG1pbmltdW0gcmVudCBleGVtcHQgYW1vdW50IGluIGxhbXBvcnRzXG4gICAqL1xuICBhc3NvY2lhdGVkVG9rZW5BY2NvdW50UmVudCh0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlUmVudEV4ZW1wdEFtb3VudCh0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50KTtcbiAgICB0aGlzLl90b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50ID0gdG9rZW5BY2NvdW50UmVudEV4ZW1wdEFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVSZW50RXhlbXB0QW1vdW50KHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQ6IHN0cmluZykge1xuICAgIC8vIF90b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50IGlzIGFsbG93ZWQgdG8gYmUgdW5kZWZpbmVkIG9yIGEgdmFsaWQgYW1vdW50IGlmIGl0J3MgZGVmaW5lZFxuICAgIGlmICh0b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50ICYmICFpc1ZhbGlkQW1vdW50KHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQsIGdvdDogJyArIHRva2VuQWNjb3VudFJlbnRFeGVtcHRBbW91bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyAnICsgYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoa2V5OiBCYXNlS2V5KTogdm9pZCB7XG4gICAgbGV0IGtleVBhaXI6IEtleVBhaXI7XG4gICAgdHJ5IHtcbiAgICAgIGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuXG4gICAgaWYgKCFrZXlQYWlyLmdldEtleXMoKS5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVTZW5kZXIoKTtcbiAgICB0aGlzLnZhbGlkYXRlTm9uY2UoKTtcbiAgICB0aGlzLnZhbGlkYXRlUmVudEV4ZW1wdEFtb3VudCh0aGlzLl90b2tlbkFjY291bnRSZW50RXhlbXB0QW1vdW50KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG4gIC8qKiBWYWxpZGF0ZXMgdGhlIG1lbW9cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lbW8gLSB0aGUgbWVtbyBhcyBzdHJpbmdcbiAgICovXG4gIHZhbGlkYXRlTWVtbyhtZW1vOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIW1lbW8pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgbWVtbywgZ290OiAnICsgbWVtbyk7XG4gICAgfVxuICAgIGlmICghaXNWYWxpZE1lbW8obWVtbykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ01lbW8gaXMgdG9vIGxvbmcnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoYXQgdGhlIGdpdmVuIGtleSBpcyBub3QgYWxyZWFkeSBpbiB0aGlzLl9zaWduZXJzXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUtleX0ga2V5IC0gVGhlIGtleSB0byBjaGVja1xuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0R1cGxpY2F0ZWRTaWduZXIoa2V5OiBCYXNlS2V5KSB7XG4gICAgdGhpcy5fc2lnbmVycy5mb3JFYWNoKChrcCkgPT4ge1xuICAgICAgaWYgKGtwLmdldEtleXMoKS5wcnYgPT09IGtleS5rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignRHVwbGljYXRlZCBzaWduZXI6ICcgKyBrZXkua2V5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhhdCB0aGUgc2VuZGVyIGZpZWxkIGlzIGRlZmluZWRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVTZW5kZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbmRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHNlbmRlcicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhhdCB0aGUgbm9uY2UgZmllbGQgaXMgZGVmaW5lZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZU5vbmNlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWNlbnRCbG9ja2hhc2ggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBub25jZSBibG9ja2hhc2gnKTtcbiAgICB9XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-sol",
|
|
3
|
-
"version": "2.4.3-beta.
|
|
3
|
+
"version": "2.4.3-beta.673",
|
|
4
4
|
"description": "BitGo SDK coin library for Sol",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo-beta/sdk-core": "8.2.1-beta.
|
|
44
|
-
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.
|
|
45
|
-
"@bitgo-beta/statics": "15.1.1-beta.
|
|
43
|
+
"@bitgo-beta/sdk-core": "8.2.1-beta.678",
|
|
44
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.670",
|
|
45
|
+
"@bitgo-beta/statics": "15.1.1-beta.681",
|
|
46
46
|
"@solana/spl-token": "0.3.1",
|
|
47
47
|
"@solana/web3.js": "1.92.1",
|
|
48
48
|
"bignumber.js": "^9.0.0",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"tweetnacl": "^1.0.3"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@bitgo-beta/sdk-api": "1.10.1-beta.
|
|
55
|
+
"@bitgo-beta/sdk-api": "1.10.1-beta.677",
|
|
56
56
|
"@bitgo-beta/sdk-test": "^8.0.68",
|
|
57
57
|
"@types/lodash": "^4.14.121"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "b8abe8c39dfa030c81be7e5a321862228acb8d46"
|
|
60
60
|
}
|