@bitgo/sdk-coin-canton 1.17.2 → 1.17.3
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.
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +267 -218
- package/dist/test/resources.d.ts +24 -0
- package/dist/test/resources.d.ts.map +1 -1
- package/dist/test/resources.js +26 -2
- package/dist/test/unit/builder/transfer/transferBuilder.js +22 -1
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +41 -1
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +40 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -30,6 +30,27 @@ describe('Transfer Builder', () => {
|
|
|
30
30
|
assert_1.default.equal(requestObj.amount, amount);
|
|
31
31
|
assert_1.default.equal(requestObj.expiryEpoch, expiryEpoch);
|
|
32
32
|
});
|
|
33
|
+
it('should get the token transfer request object', function () {
|
|
34
|
+
const txBuilder = new src_1.TransferBuilder(statics_1.coins.get('tcanton'));
|
|
35
|
+
const transferTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
36
|
+
txBuilder.initBuilder(transferTx);
|
|
37
|
+
txBuilder.setTransaction(resources_1.CantonTokenTransferPrepareResponse);
|
|
38
|
+
const { commandId, senderPartyId, receiverPartyId, amount, sendOneStep, expiryEpoch } = resources_1.TransferObj;
|
|
39
|
+
txBuilder
|
|
40
|
+
.commandId(commandId)
|
|
41
|
+
.senderId(senderPartyId)
|
|
42
|
+
.receiverId(receiverPartyId)
|
|
43
|
+
.amount(amount)
|
|
44
|
+
.sendOneStep(sendOneStep)
|
|
45
|
+
.expiryEpoch(expiryEpoch);
|
|
46
|
+
const requestObj = txBuilder.toRequestObject();
|
|
47
|
+
should_1.default.exist(requestObj);
|
|
48
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
49
|
+
assert_1.default.equal(requestObj.senderPartyId, senderPartyId);
|
|
50
|
+
assert_1.default.equal(requestObj.receiverPartyId, receiverPartyId);
|
|
51
|
+
assert_1.default.equal(requestObj.amount, amount);
|
|
52
|
+
assert_1.default.equal(requestObj.expiryEpoch, expiryEpoch);
|
|
53
|
+
});
|
|
33
54
|
it('should validate raw transaction', function () {
|
|
34
55
|
const txBuilder = new src_1.TransferBuilder(statics_1.coins.get('tcanton'));
|
|
35
56
|
const transferTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
@@ -60,4 +81,4 @@ describe('Transfer Builder', () => {
|
|
|
60
81
|
}
|
|
61
82
|
});
|
|
62
83
|
});
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXIvdHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMseUNBQStEO0FBRy9ELGtEQUE2RztBQUU3RyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRTtRQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFlLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDekQsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxTQUFTLENBQUMsY0FBYyxDQUFDLGtDQUFzQixDQUFDLENBQUM7UUFDakQsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsdUJBQVcsQ0FBQztRQUNwRyxTQUFTO2FBQ04sU0FBUyxDQUFDLFNBQVMsQ0FBQzthQUNwQixRQUFRLENBQUMsYUFBYSxDQUFDO2FBQ3ZCLFVBQVUsQ0FBQyxlQUFlLENBQUM7YUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNkLFdBQVcsQ0FBQyxXQUFXLENBQUM7YUFDeEIsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sVUFBVSxHQUEwQixTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekIsZ0JBQU0sQ0FBQyxLQUFL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YyxHQUFHLGtDQUFzQixDQUFDO1FBQ25ELFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxrQ0FBc0IsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFlLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuRSxTQUFTLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUMsTUFBTSxzQkFBc0IsR0FBRyxrQ0FBc0IsQ0FBQztRQUN0RCxzQkFBc0IsQ0FBQyx1QkFBdUIsR0FBRyw4Q0FBOEMsQ0FBQztRQUNoRyxTQUFTLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDO1lBQ0gsU0FBUyxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLDRDQUE0QyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIsIFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IENhbnRvblRyYW5zZmVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvaWZhY2UnO1xuXG5pbXBvcnQgeyBDYW50b25Ub2tlblRyYW5zZmVyUHJlcGFyZVJlc3BvbnNlLCBUcmFuc2Zlck9iaiwgVHJhc2ZlclByZXBhcmVSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdUcmFuc2ZlciBCdWlsZGVyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGdldCB0aGUgdHJhbnNmZXIgcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFzZmVyUHJlcGFyZVJlc3BvbnNlKTtcbiAgICBjb25zdCB7IGNvbW1hbmRJZCwgc2VuZGVyUGFydHlJZCwgcmVjZWl2ZXJQYXJ0eUlkLCBhbW91bnQsIHNlbmRPbmVTdGVwLCBleHBpcnlFcG9jaCB9ID0gVHJhbnNmZXJPYmo7XG4gICAgdHhCdWlsZGVyXG4gICAgICAuY29tbWFuZElkKGNvbW1hbmRJZClcbiAgICAgIC5zZW5kZXJJZChzZW5kZXJQYXJ0eUlkKVxuICAgICAgLnJlY2VpdmVySWQocmVjZWl2ZXJQYXJ0eUlkKVxuICAgICAgLmFtb3VudChhbW91bnQpXG4gICAgICAuc2VuZE9uZVN0ZXAoc2VuZE9uZVN0ZXApXG4gICAgICAuZXhwaXJ5RXBvY2goZXhwaXJ5RXBvY2gpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyUmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29tbWFuZElkLCBjb21tYW5kSWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnNlbmRlclBhcnR5SWQsIHNlbmRlclBhcnR5SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLnJlY2VpdmVyUGFydHlJZCwgcmVjZWl2ZXJQYXJ0eUlkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5hbW91bnQsIGFtb3VudCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouZXhwaXJ5RXBvY2gsIGV4cGlyeUVwb2NoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIHRva2VuIHRyYW5zZmVyIHJlcXVlc3Qgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHRyYW5zZmVyVHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0cmFuc2ZlclR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oQ2FudG9uVG9rZW5UcmFuc2ZlclByZXBhcmVSZXNwb25zZSk7XG4gICAgY29uc3QgeyBjb21tYW5kSWQsIHNlbmRlclBhcnR5SWQsIHJlY2VpdmVyUGFydHlJZCwgYW1vdW50LCBzZW5kT25lU3RlcCwgZXhwaXJ5RXBvY2ggfSA9IFRyYW5zZmVyT2JqO1xuICAgIHR4QnVpbGRlclxuICAgICAgLmNvbW1hbmRJZChjb21tYW5kSWQpXG4gICAgICAuc2VuZGVySWQoc2VuZGVyUGFydHlJZClcbiAgICAgIC5yZWNlaXZlcklkKHJlY2VpdmVyUGFydHlJZClcbiAgICAgIC5hbW91bnQoYW1vdW50KVxuICAgICAgLnNlbmRPbmVTdGVwKHNlbmRPbmVTdGVwKVxuICAgICAgLmV4cGlyeUVwb2NoKGV4cGlyeUVwb2NoKTtcbiAgICBjb25zdCByZXF1ZXN0T2JqOiBDYW50b25UcmFuc2ZlclJlcXVlc3QgPSB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmopO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbW1hbmRJZCwgY29tbWFuZElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5zZW5kZXJQYXJ0eUlkLCBzZW5kZXJQYXJ0eUlkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5yZWNlaXZlclBhcnR5SWQsIHJlY2VpdmVyUGFydHlJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYW1vdW50LCBhbW91bnQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmV4cGlyeUVwb2NoLCBleHBpcnlFcG9jaCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHRyYW5zZmVyVHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0cmFuc2ZlclR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oVHJhc2ZlclByZXBhcmVSZXNwb25zZSk7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oVHJhc2ZlclByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0aGUgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHJhbnNmZXJUeC5wcmVwYXJlQ29tbWFuZCA9IFRyYXNmZXJQcmVwYXJlUmVzcG9uc2U7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFzZmVyUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2ZlclR4KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBpbiB2YWxpZGF0aW5nIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICBjb25zdCBpbnZhbGlkUHJlcGFyZVJlc3BvbnNlID0gVHJhc2ZlclByZXBhcmVSZXNwb25zZTtcbiAgICBpbnZhbGlkUHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb25IYXNoID0gJ3kxMnUwNXZpUThldWhOaDljMjFLSzhsYm4vN3dNNGFlRzVVNG91YW5UV1o9JztcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oaW52YWxpZFByZXBhcmVSZXNwb25zZSk7XG4gICAgdHJ5IHtcbiAgICAgIHR4QnVpbGRlci52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKGludmFsaWRQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYXNzZXJ0LmVxdWFsKGUubWVzc2FnZSwgJ2ludmFsaWQgcmF3IHRyYW5zYWN0aW9uLCBoYXNoIG5vdCBtYXRjaGluZycpO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -24,6 +24,46 @@ describe('Transfer Acceptance Builder', () => {
|
|
|
24
24
|
const actAs = requestObj.actAs[0];
|
|
25
25
|
assert_1.default.equal(actAs, partyId);
|
|
26
26
|
});
|
|
27
|
+
it('should get the token transfer acceptance request object', function () {
|
|
28
|
+
const txBuilder = new src_1.TransferAcceptanceBuilder(statics_1.coins.get('tcanton'));
|
|
29
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
30
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
31
|
+
txBuilder.setTransaction(resources_1.CantonTokenAcceptPrepareResponse);
|
|
32
|
+
const commandId = '3935a06d-3b03-41be-99a5-95b2ecaabf7d';
|
|
33
|
+
const partyId = 'ravi-2-step-party::122092e7d33ac10c0f3d55976342f37555df05da5b742956d56a62ae2367769079d2';
|
|
34
|
+
const { contractId } = resources_1.TransferAcceptance;
|
|
35
|
+
txBuilder.commandId(commandId).contractId(contractId).actAs(partyId);
|
|
36
|
+
const requestObj = txBuilder.toRequestObject();
|
|
37
|
+
should_1.default.exist(requestObj);
|
|
38
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
39
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
40
|
+
assert_1.default.equal(requestObj.actAs.length, 1);
|
|
41
|
+
const actAs = requestObj.actAs[0];
|
|
42
|
+
assert_1.default.equal(actAs, partyId);
|
|
43
|
+
});
|
|
44
|
+
it('should get the transfer acceptance request object for cbtc token', function () {
|
|
45
|
+
const txBuilder = new src_1.TransferAcceptanceBuilder(statics_1.coins.get('tcanton'));
|
|
46
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
47
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
48
|
+
txBuilder.setTransaction(resources_1.CBTCTokenAcceptancePrepareResponse);
|
|
49
|
+
const commandId = '3935a06d-3b03-41be-99a5-95b2ecaabf7d';
|
|
50
|
+
const partyId = '12201::1220175583b704cbb493393c1dbe17b9909ee4cf55ef345e8147cd6900c5768f861d';
|
|
51
|
+
const { contractId } = resources_1.TransferAcceptance;
|
|
52
|
+
txBuilder.commandId(commandId).contractId(contractId).actAs(partyId);
|
|
53
|
+
const requestObj = txBuilder.toRequestObject();
|
|
54
|
+
const txData = txBuilder.transaction.toJson();
|
|
55
|
+
should_1.default.exist(requestObj);
|
|
56
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
57
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
58
|
+
assert_1.default.equal(requestObj.actAs.length, 1);
|
|
59
|
+
const actAs = requestObj.actAs[0];
|
|
60
|
+
assert_1.default.equal(actAs, partyId);
|
|
61
|
+
should_1.default.exist(txData);
|
|
62
|
+
assert_1.default.equal(txData.sender, '12203::1220307926a923431f0aed10609fff4519826a7032d26cb9360d4f67b3082d332f93');
|
|
63
|
+
assert_1.default.equal(txData.receiver, partyId);
|
|
64
|
+
assert_1.default.equal(txData.amount, '1000000');
|
|
65
|
+
assert_1.default.equal(txData.token, 'canton:cbtc');
|
|
66
|
+
});
|
|
27
67
|
it('should validate raw transaction', function () {
|
|
28
68
|
const txBuilder = new src_1.TransferAcceptanceBuilder(statics_1.coins.get('tcanton'));
|
|
29
69
|
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
@@ -54,4 +94,4 @@ describe('Transfer Acceptance Builder', () => {
|
|
|
54
94
|
}
|
|
55
95
|
});
|
|
56
96
|
});
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXJBY2NlcHQvdHJhbnNmZXJBY2NlcHRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMseUNBQXlFO0FBR3pFLGtEQUEyRjtBQUUzRixRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO0lBQzNDLEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtRQUN0RCxNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLG9CQUFvQixHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxjQUFjLENBQUMsNkNBQWlDLENBQUMsQ0FBQztRQUM1RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyw4QkFBa0IsQ0FBQztRQUM5RCxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQXNDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25FLFNBQVMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM1QyxTQUFTLENBQUMsY0FBYyxDQUFDLDZDQUFpQyxDQUFDLENBQUM7UUFDNUQsU0FBUyxDQUFDLHNCQUFzQixDQUFDLDZDQUFpQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUU7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25FLG9CQUFvQixDQUFDLGNBQWMsR0FBRyw2Q0FBaUMsQ0FBQztRQUN4RSxTQUFTLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyw2Q0FBaUMsQ0FBQyxDQUFDO1FBQzVELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFO1FBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuRSxTQUFTLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUMsTUFBTSxzQkFBc0IsR0FBRyw2Q0FBaUMsQ0FBQztRQUNqRSxzQkFBc0IsQ0FBQyx1QkFBdUIsR0FBRyw4Q0FBOEMsQ0FBQztRQUNoRyxTQUFTLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDO1lBQ0gsU0FBUyxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLDRDQUE0QyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5pbXBvcnQgeyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyLCBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvbGliL2lmYWNlJztcblxuaW1wb3J0IHsgVHJhbnNmZXJBY2NlcHRhbmNlLCBUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMnO1xuXG5kZXNjcmliZSgnVHJhbnNmZXIgQWNjZXB0YW5jZSBCdWlsZGVyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGdldCB0aGUgdHJhbnNmZXIgYWNjZXB0YW5jZSByZXF1ZXN0IG9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJBY2NlcHRhbmNlVHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0cmFuc2ZlckFjY2VwdGFuY2VUeCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyQWNjZXB0YW5jZVByZXBhcmVSZXNwb25zZSk7XG4gICAgY29uc3QgeyBjb21tYW5kSWQsIGNvbnRyYWN0SWQsIHBhcnR5SWQgfSA9IFRyYW5zZmVyQWNjZXB0YW5jZTtcbiAgICB0eEJ1aWxkZXIuY29tbWFuZElkKGNvbW1hbmRJZCkuY29udHJhY3RJZChjb250cmFjdElkKS5hY3RBcyhwYXJ0eUlkKTtcbiAgICBjb25zdCByZXF1ZXN0T2JqOiBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3QgPSB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmopO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbW1hbmRJZCwgY29tbWFuZElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb250cmFjdElkLCBjb250cmFjdElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5hY3RBcy5sZW5ndGgsIDEpO1xuICAgIGNvbnN0IGFjdEFzID0gcmVxdWVzdE9iai5hY3RBc1swXTtcbiAgICBhc3NlcnQuZXF1YWwoYWN0QXMsIHBhcnR5SWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHJhdyB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJBY2NlcHRhbmNlVHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0cmFuc2ZlckFjY2VwdGFuY2VUeCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyQWNjZXB0YW5jZVByZXBhcmVSZXNwb25zZSk7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJBY2NlcHRhbmNlVHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHRyYW5zZmVyQWNjZXB0YW5jZVR4LnByZXBhcmVDb21tYW5kID0gVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0cmFuc2ZlckFjY2VwdGFuY2VUeCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyQWNjZXB0YW5jZVByZXBhcmVSZXNwb25zZSk7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNmZXJBY2NlcHRhbmNlVHgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGluIHZhbGlkYXRpbmcgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICBjb25zdCBpbnZhbGlkUHJlcGFyZVJlc3BvbnNlID0gVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlO1xuICAgIGludmFsaWRQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbkhhc2ggPSAnK3ZsSVh2NlZnZDJ5cFBYRDBtcmRuN1JsY1NINGMyaENSajIvdFhxcVVWcz0nO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0cnkge1xuICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oaW52YWxpZFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhc3NlcnQuZXF1YWwoZS5tZXNzYWdlLCAnaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXJBY2NlcHQvdHJhbnNmZXJBY2NlcHRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMseUNBQXlFO0FBR3pFLGtEQUs0QjtBQUU1QixRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO0lBQzNDLEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtRQUN0RCxNQUFNLFNBQVMsR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLG9CQUFvQixHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxjQUFjLENBQUMsNkNBQWlDLENBQUMsQ0FBQztRQUM1RCxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyw4QkFBa0IsQ0FBQztRQUM5RCxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQXNDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVB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QUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuaW1wb3J0IHsgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciwgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgQ2FudG9uVHJhbnNmZXJBY2NlcHRSZWplY3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL2xpYi9pZmFjZSc7XG5cbmltcG9ydCB7XG4gIENhbnRvblRva2VuQWNjZXB0UHJlcGFyZVJlc3BvbnNlLFxuICBDQlRDVG9rZW5BY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlLFxuICBUcmFuc2ZlckFjY2VwdGFuY2UsXG4gIFRyYW5zZmVyQWNjZXB0YW5jZVByZXBhcmVSZXNwb25zZSxcbn0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzJztcblxuZGVzY3JpYmUoJ1RyYW5zZmVyIEFjY2VwdGFuY2UgQnVpbGRlcicsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIHRyYW5zZmVyIGFjY2VwdGFuY2UgcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHRyYW5zZmVyQWNjZXB0YW5jZVR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHJhbnNmZXJBY2NlcHRhbmNlVHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2UpO1xuICAgIGNvbnN0IHsgY29tbWFuZElkLCBjb250cmFjdElkLCBwYXJ0eUlkIH0gPSBUcmFuc2ZlckFjY2VwdGFuY2U7XG4gICAgdHhCdWlsZGVyLmNvbW1hbmRJZChjb21tYW5kSWQpLmNvbnRyYWN0SWQoY29udHJhY3RJZCkuYWN0QXMocGFydHlJZCk7XG4gICAgY29uc3QgcmVxdWVzdE9iajogQ2FudG9uVHJhbnNmZXJBY2NlcHRSZWplY3RSZXF1ZXN0ID0gdHhCdWlsZGVyLnRvUmVxdWVzdE9iamVjdCgpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb21tYW5kSWQsIGNvbW1hbmRJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29udHJhY3RJZCwgY29udHJhY3RJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYWN0QXMubGVuZ3RoLCAxKTtcbiAgICBjb25zdCBhY3RBcyA9IHJlcXVlc3RPYmouYWN0QXNbMF07XG4gICAgYXNzZXJ0LmVxdWFsKGFjdEFzLCBwYXJ0eUlkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIHRva2VuIHRyYW5zZmVyIGFjY2VwdGFuY2UgcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHRyYW5zZmVyQWNjZXB0YW5jZVR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHJhbnNmZXJBY2NlcHRhbmNlVHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihDYW50b25Ub2tlbkFjY2VwdFByZXBhcmVSZXNwb25zZSk7XG4gICAgY29uc3QgY29tbWFuZElkID0gJzM5MzVhMDZkLTNiMDMtNDFiZS05OWE1LTk1YjJlY2FhYmY3ZCc7XG4gICAgY29uc3QgcGFydHlJZCA9ICdyYXZpLTItc3RlcC1wYXJ0eTo6MTIyMDkyZTdkMzNhYzEwYzBmM2Q1NTk3NjM0MmYzNzU1NWRmMDVkYTViNzQyOTU2ZDU2YTYyYWUyMzY3NzY5MDc5ZDInO1xuICAgIGNvbnN0IHsgY29udHJhY3RJZCB9ID0gVHJhbnNmZXJBY2NlcHRhbmNlO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5jb250cmFjdElkKGNvbnRyYWN0SWQpLmFjdEFzKHBhcnR5SWQpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29tbWFuZElkLCBjb21tYW5kSWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbnRyYWN0SWQsIGNvbnRyYWN0SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmFjdEFzLmxlbmd0aCwgMSk7XG4gICAgY29uc3QgYWN0QXMgPSByZXF1ZXN0T2JqLmFjdEFzWzBdO1xuICAgIGFzc2VydC5lcXVhbChhY3RBcywgcGFydHlJZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IHRoZSB0cmFuc2ZlciBhY2NlcHRhbmNlIHJlcXVlc3Qgb2JqZWN0IGZvciBjYnRjIHRva2VuJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oQ0JUQ1Rva2VuQWNjZXB0YW5jZVByZXBhcmVSZXNwb25zZSk7XG4gICAgY29uc3QgY29tbWFuZElkID0gJzM5MzVhMDZkLTNiMDMtNDFiZS05OWE1LTk1YjJlY2FhYmY3ZCc7XG4gICAgY29uc3QgcGFydHlJZCA9ICcxMjIwMTo6MTIyMDE3NTU4M2I3MDRjYmI0OTMzOTNjMWRiZTE3Yjk5MDllZTRjZjU1ZWYzNDVlODE0N2NkNjkwMGM1NzY4Zjg2MWQnO1xuICAgIGNvbnN0IHsgY29udHJhY3RJZCB9ID0gVHJhbnNmZXJBY2NlcHRhbmNlO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5jb250cmFjdElkKGNvbnRyYWN0SWQpLmFjdEFzKHBhcnR5SWQpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBjb25zdCB0eERhdGEgPSB0eEJ1aWxkZXIudHJhbnNhY3Rpb24udG9Kc29uKCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmopO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbW1hbmRJZCwgY29tbWFuZElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb250cmFjdElkLCBjb250cmFjdElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5hY3RBcy5sZW5ndGgsIDEpO1xuICAgIGNvbnN0IGFjdEFzID0gcmVxdWVzdE9iai5hY3RBc1swXTtcbiAgICBhc3NlcnQuZXF1YWwoYWN0QXMsIHBhcnR5SWQpO1xuICAgIHNob3VsZC5leGlzdCh0eERhdGEpO1xuICAgIGFzc2VydC5lcXVhbCh0eERhdGEuc2VuZGVyLCAnMTIyMDM6OjEyMjAzMDc5MjZhOTIzNDMxZjBhZWQxMDYwOWZmZjQ1MTk4MjZhNzAzMmQyNmNiOTM2MGQ0ZjY3YjMwODJkMzMyZjkzJyk7XG4gICAgYXNzZXJ0LmVxdWFsKHR4RGF0YS5yZWNlaXZlciwgcGFydHlJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHR4RGF0YS5hbW91bnQsICcxMDAwMDAwJyk7XG4gICAgYXNzZXJ0LmVxdWFsKHR4RGF0YS50b2tlbiwgJ2NhbnRvbjpjYnRjJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbik7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdGhlIHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0cmFuc2ZlckFjY2VwdGFuY2VUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHJhbnNmZXJBY2NlcHRhbmNlVHgucHJlcGFyZUNvbW1hbmQgPSBUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2U7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHRyYW5zZmVyQWNjZXB0YW5jZVR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oVHJhbnNmZXJBY2NlcHRhbmNlUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2ZlckFjY2VwdGFuY2VUeCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaW4gdmFsaWRhdGluZyByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHRyYW5zZmVyQWNjZXB0YW5jZVR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHJhbnNmZXJBY2NlcHRhbmNlVHgpO1xuICAgIGNvbnN0IGludmFsaWRQcmVwYXJlUmVzcG9uc2UgPSBUcmFuc2ZlckFjY2VwdGFuY2VQcmVwYXJlUmVzcG9uc2U7XG4gICAgaW52YWxpZFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uSGFzaCA9ICcrdmxJWHY2VmdkMnlwUFhEMG1yZG43UmxjU0g0YzJoQ1JqMi90WHFxVVZzPSc7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKGludmFsaWRQcmVwYXJlUmVzcG9uc2UpO1xuICAgIHRyeSB7XG4gICAgICB0eEJ1aWxkZXIudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGFzc2VydC5lcXVhbChlLm1lc3NhZ2UsICdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiwgaGFzaCBub3QgbWF0Y2hpbmcnKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -24,6 +24,45 @@ describe('Transfer Rejection Builder', () => {
|
|
|
24
24
|
const actAs = requestObj.actAs[0];
|
|
25
25
|
assert_1.default.equal(actAs, partyId);
|
|
26
26
|
});
|
|
27
|
+
it('should get the token transfer rejection request object', function () {
|
|
28
|
+
const txBuilder = new src_1.TransferRejectionBuilder(statics_1.coins.get('tcanton'));
|
|
29
|
+
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
30
|
+
txBuilder.initBuilder(tx);
|
|
31
|
+
txBuilder.setTransaction(resources_1.CantonTokenRejectPrepareResponse);
|
|
32
|
+
const { commandId, contractId, partyId } = resources_1.TransferRejection;
|
|
33
|
+
txBuilder.commandId(commandId).contractId(contractId).actAs(partyId);
|
|
34
|
+
const requestObj = txBuilder.toRequestObject();
|
|
35
|
+
txBuilder.transaction.toJson();
|
|
36
|
+
should_1.default.exist(requestObj);
|
|
37
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
38
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
39
|
+
assert_1.default.equal(requestObj.actAs.length, 1);
|
|
40
|
+
const actAs = requestObj.actAs[0];
|
|
41
|
+
assert_1.default.equal(actAs, partyId);
|
|
42
|
+
});
|
|
43
|
+
it('should get the transfer acceptance request object for cbtc token', function () {
|
|
44
|
+
const txBuilder = new src_1.TransferRejectionBuilder(statics_1.coins.get('tcanton'));
|
|
45
|
+
const transferAcceptanceTx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
46
|
+
txBuilder.initBuilder(transferAcceptanceTx);
|
|
47
|
+
txBuilder.setTransaction(resources_1.CBTCTokenRejectionPrepareResponse);
|
|
48
|
+
const commandId = '3935a06d-3b03-41be-99a5-95b2ecaabf7d';
|
|
49
|
+
const partyId = '12201::1220175583b704cbb493393c1dbe17b9909ee4cf55ef345e8147cd6900c5768f861d';
|
|
50
|
+
const { contractId } = resources_1.TransferAcceptance;
|
|
51
|
+
txBuilder.commandId(commandId).contractId(contractId).actAs(partyId);
|
|
52
|
+
const requestObj = txBuilder.toRequestObject();
|
|
53
|
+
const txData = txBuilder.transaction.toJson();
|
|
54
|
+
should_1.default.exist(requestObj);
|
|
55
|
+
assert_1.default.equal(requestObj.commandId, commandId);
|
|
56
|
+
assert_1.default.equal(requestObj.contractId, contractId);
|
|
57
|
+
assert_1.default.equal(requestObj.actAs.length, 1);
|
|
58
|
+
const actAs = requestObj.actAs[0];
|
|
59
|
+
assert_1.default.equal(actAs, partyId);
|
|
60
|
+
should_1.default.exist(txData);
|
|
61
|
+
assert_1.default.equal(txData.sender, '12203::1220307926a923431f0aed10609fff4519826a7032d26cb9360d4f67b3082d332f93');
|
|
62
|
+
assert_1.default.equal(txData.receiver, partyId);
|
|
63
|
+
assert_1.default.equal(txData.amount, '1000000');
|
|
64
|
+
assert_1.default.equal(txData.token, 'canton:cbtc');
|
|
65
|
+
});
|
|
27
66
|
it('should validate raw transaction', function () {
|
|
28
67
|
const txBuilder = new src_1.TransferRejectionBuilder(statics_1.coins.get('tcanton'));
|
|
29
68
|
const tx = new src_1.Transaction(statics_1.coins.get('tcanton'));
|
|
@@ -54,4 +93,4 @@ describe('Transfer Rejection Builder', () => {
|
|
|
54
93
|
}
|
|
55
94
|
});
|
|
56
95
|
});
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJSZWplY3RCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXJSZWplY3QvdHJhbnNmZXJSZWplY3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMseUNBQXdFO0FBR3hFLGtEQUF5RjtBQUV6RixRQUFRLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO0lBQzFDLEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUF3QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyw0Q0FBZ0MsQ0FBQyxDQUFDO1FBQzNELE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLDZCQUFpQixDQUFDO1FBQzdELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBc0MsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2xGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLGdCQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUF3QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyw0Q0FBZ0MsQ0FBQyxDQUFDO1FBQzNELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyw0Q0FBZ0MsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksOEJBQXdCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sRUFBRSxHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDakQsRUFBRSxDQUFDLGNBQWMsR0FBRyw0Q0FBZ0MsQ0FBQztRQUNyRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxjQUFjLENBQUMsNENBQWdDLENBQUMsQ0FBQztRQUMzRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7UUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSw4QkFBd0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxFQUFFLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNqRCxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sc0JBQXNCLEdBQUcsNENBQWdDLENBQUM7UUFDaEUsc0JBQXNCLENBQUMsdUJBQXVCLEdBQUcsOENBQThDLENBQUM7UUFDaEcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQztZQUNILFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvbGliL2lmYWNlJztcblxuaW1wb3J0IHsgVHJhbnNmZXJSZWplY3Rpb24sIFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzJztcblxuZGVzY3JpYmUoJ1RyYW5zZmVyIFJlamVjdGlvbiBCdWlsZGVyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGdldCB0aGUgdHJhbnNmZXIgcmVqZWN0aW9uIHJlcXVlc3Qgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFuc2ZlclJlamVjdGlvblByZXBhcmVSZXNwb25zZSk7XG4gICAgY29uc3QgeyBjb21tYW5kSWQsIGNvbnRyYWN0SWQsIHBhcnR5SWQgfSA9IFRyYW5zZmVyUmVqZWN0aW9uO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5jb250cmFjdElkKGNvbnRyYWN0SWQpLmFjdEFzKHBhcnR5SWQpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBzaG91bGQuZXhpc3QocmVxdWVzdE9iaik7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29tbWFuZElkLCBjb21tYW5kSWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbnRyYWN0SWQsIGNvbnRyYWN0SWQpO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmFjdEFzLmxlbmd0aCwgMSk7XG4gICAgY29uc3QgYWN0QXMgPSByZXF1ZXN0T2JqLmFjdEFzWzBdO1xuICAgIGFzc2VydC5lcXVhbChhY3RBcywgcGFydHlJZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFuc2ZlclJlamVjdGlvblByZXBhcmVSZXNwb25zZSk7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oVHJhbnNmZXJSZWplY3Rpb25QcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbik7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdGhlIHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eC5wcmVwYXJlQ29tbWFuZCA9IFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih0eCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaW4gdmFsaWRhdGluZyByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgY29uc3QgaW52YWxpZFByZXBhcmVSZXNwb25zZSA9IFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlO1xuICAgIGludmFsaWRQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbkhhc2ggPSAnUUZ4WDFXQmRxN2xaYlNjNDVpS0EzSi9vT0Y5bXJWTGMzRGVLcGhBamIxNT0nO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0cnkge1xuICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oaW52YWxpZFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhc3NlcnQuZXF1YWwoZS5tZXNzYWdlLCAnaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJSZWplY3RCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2J1aWxkZXIvdHJhbnNmZXJSZWplY3QvdHJhbnNmZXJSZWplY3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1Qiw0Q0FBdUM7QUFFdkMseUNBQXdFO0FBR3hFLGtEQU00QjtBQUU1QixRQUFRLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO0lBQzFDLEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUF3QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLEVBQUUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyw0Q0FBZ0MsQ0FBQyxDQUFDO1FBQzNELE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLDZCQUFpQixDQUFDO1FBQzdELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBc0MsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2xGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxV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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcblxuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgQ2FudG9uVHJhbnNmZXJBY2NlcHRSZWplY3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL2xpYi9pZmFjZSc7XG5cbmltcG9ydCB7XG4gIENhbnRvblRva2VuUmVqZWN0UHJlcGFyZVJlc3BvbnNlLFxuICBDQlRDVG9rZW5SZWplY3Rpb25QcmVwYXJlUmVzcG9uc2UsXG4gIFRyYW5zZmVyQWNjZXB0YW5jZSxcbiAgVHJhbnNmZXJSZWplY3Rpb24sXG4gIFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMnO1xuXG5kZXNjcmliZSgnVHJhbnNmZXIgUmVqZWN0aW9uIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgZ2V0IHRoZSB0cmFuc2ZlciByZWplY3Rpb24gcmVxdWVzdCBvYmplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlKTtcbiAgICBjb25zdCB7IGNvbW1hbmRJZCwgY29udHJhY3RJZCwgcGFydHlJZCB9ID0gVHJhbnNmZXJSZWplY3Rpb247XG4gICAgdHhCdWlsZGVyLmNvbW1hbmRJZChjb21tYW5kSWQpLmNvbnRyYWN0SWQoY29udHJhY3RJZCkuYWN0QXMocGFydHlJZCk7XG4gICAgY29uc3QgcmVxdWVzdE9iajogQ2FudG9uVHJhbnNmZXJBY2NlcHRSZWplY3RSZXF1ZXN0ID0gdHhCdWlsZGVyLnRvUmVxdWVzdE9iamVjdCgpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb21tYW5kSWQsIGNvbW1hbmRJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29udHJhY3RJZCwgY29udHJhY3RJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYWN0QXMubGVuZ3RoLCAxKTtcbiAgICBjb25zdCBhY3RBcyA9IHJlcXVlc3RPYmouYWN0QXNbMF07XG4gICAgYXNzZXJ0LmVxdWFsKGFjdEFzLCBwYXJ0eUlkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIHRva2VuIHRyYW5zZmVyIHJlamVjdGlvbiByZXF1ZXN0IG9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJSZWplY3Rpb25CdWlsZGVyKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0eEJ1aWxkZXIuc2V0VHJhbnNhY3Rpb24oQ2FudG9uVG9rZW5SZWplY3RQcmVwYXJlUmVzcG9uc2UpO1xuICAgIGNvbnN0IHsgY29tbWFuZElkLCBjb250cmFjdElkLCBwYXJ0eUlkIH0gPSBUcmFuc2ZlclJlamVjdGlvbjtcbiAgICB0eEJ1aWxkZXIuY29tbWFuZElkKGNvbW1hbmRJZCkuY29udHJhY3RJZChjb250cmFjdElkKS5hY3RBcyhwYXJ0eUlkKTtcbiAgICBjb25zdCByZXF1ZXN0T2JqOiBDYW50b25UcmFuc2ZlckFjY2VwdFJlamVjdFJlcXVlc3QgPSB0eEJ1aWxkZXIudG9SZXF1ZXN0T2JqZWN0KCk7XG4gICAgdHhCdWlsZGVyLnRyYW5zYWN0aW9uLnRvSnNvbigpO1xuICAgIHNob3VsZC5leGlzdChyZXF1ZXN0T2JqKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb21tYW5kSWQsIGNvbW1hbmRJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouY29udHJhY3RJZCwgY29udHJhY3RJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RPYmouYWN0QXMubGVuZ3RoLCAxKTtcbiAgICBjb25zdCBhY3RBcyA9IHJlcXVlc3RPYmouYWN0QXNbMF07XG4gICAgYXNzZXJ0LmVxdWFsKGFjdEFzLCBwYXJ0eUlkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZXQgdGhlIHRyYW5zZmVyIGFjY2VwdGFuY2UgcmVxdWVzdCBvYmplY3QgZm9yIGNidGMgdG9rZW4nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHJhbnNmZXJBY2NlcHRhbmNlVHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0cmFuc2ZlckFjY2VwdGFuY2VUeCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKENCVENUb2tlblJlamVjdGlvblByZXBhcmVSZXNwb25zZSk7XG4gICAgY29uc3QgY29tbWFuZElkID0gJzM5MzVhMDZkLTNiMDMtNDFiZS05OWE1LTk1YjJlY2FhYmY3ZCc7XG4gICAgY29uc3QgcGFydHlJZCA9ICcxMjIwMTo6MTIyMDE3NTU4M2I3MDRjYmI0OTMzOTNjMWRiZTE3Yjk5MDllZTRjZjU1ZWYzNDVlODE0N2NkNjkwMGM1NzY4Zjg2MWQnO1xuICAgIGNvbnN0IHsgY29udHJhY3RJZCB9ID0gVHJhbnNmZXJBY2NlcHRhbmNlO1xuICAgIHR4QnVpbGRlci5jb21tYW5kSWQoY29tbWFuZElkKS5jb250cmFjdElkKGNvbnRyYWN0SWQpLmFjdEFzKHBhcnR5SWQpO1xuICAgIGNvbnN0IHJlcXVlc3RPYmo6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVqZWN0UmVxdWVzdCA9IHR4QnVpbGRlci50b1JlcXVlc3RPYmplY3QoKTtcbiAgICBjb25zdCB0eERhdGEgPSB0eEJ1aWxkZXIudHJhbnNhY3Rpb24udG9Kc29uKCk7XG4gICAgc2hvdWxkLmV4aXN0KHJlcXVlc3RPYmopO1xuICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0T2JqLmNvbW1hbmRJZCwgY29tbWFuZElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5jb250cmFjdElkLCBjb250cmFjdElkKTtcbiAgICBhc3NlcnQuZXF1YWwocmVxdWVzdE9iai5hY3RBcy5sZW5ndGgsIDEpO1xuICAgIGNvbnN0IGFjdEFzID0gcmVxdWVzdE9iai5hY3RBc1swXTtcbiAgICBhc3NlcnQuZXF1YWwoYWN0QXMsIHBhcnR5SWQpO1xuICAgIHNob3VsZC5leGlzdCh0eERhdGEpO1xuICAgIGFzc2VydC5lcXVhbCh0eERhdGEuc2VuZGVyLCAnMTIyMDM6OjEyMjAzMDc5MjZhOTIzNDMxZjBhZWQxMDYwOWZmZjQ1MTk4MjZhNzAzMmQyNmNiOTM2MGQ0ZjY3YjMwODJkMzMyZjkzJyk7XG4gICAgYXNzZXJ0LmVxdWFsKHR4RGF0YS5yZWNlaXZlciwgcGFydHlJZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHR4RGF0YS5hbW91bnQsICcxMDAwMDAwJyk7XG4gICAgYXNzZXJ0LmVxdWFsKHR4RGF0YS50b2tlbiwgJ2NhbnRvbjpjYnRjJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgcmF3IHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihUcmFuc2ZlclJlamVjdGlvblByZXBhcmVSZXNwb25zZSk7XG4gICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oVHJhbnNmZXJSZWplY3Rpb25QcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbik7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgdGhlIHRyYW5zYWN0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IG5ldyBUcmFuc2ZlclJlamVjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIGNvbnN0IHR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGNhbnRvbicpKTtcbiAgICB0eC5wcmVwYXJlQ29tbWFuZCA9IFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdHhCdWlsZGVyLnNldFRyYW5zYWN0aW9uKFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0eEJ1aWxkZXIudmFsaWRhdGVUcmFuc2FjdGlvbih0eCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgaW4gdmFsaWRhdGluZyByYXcgdHJhbnNhY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gbmV3IFRyYW5zZmVyUmVqZWN0aW9uQnVpbGRlcihjb2lucy5nZXQoJ3RjYW50b24nKSk7XG4gICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0Y2FudG9uJykpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgY29uc3QgaW52YWxpZFByZXBhcmVSZXNwb25zZSA9IFRyYW5zZmVyUmVqZWN0aW9uUHJlcGFyZVJlc3BvbnNlO1xuICAgIGludmFsaWRQcmVwYXJlUmVzcG9uc2UucHJlcGFyZWRUcmFuc2FjdGlvbkhhc2ggPSAnUUZ4WDFXQmRxN2xaYlNjNDVpS0EzSi9vT0Y5bXJWTGMzRGVLcGhBamIxNT0nO1xuICAgIHR4QnVpbGRlci5zZXRUcmFuc2FjdGlvbihpbnZhbGlkUHJlcGFyZVJlc3BvbnNlKTtcbiAgICB0cnkge1xuICAgICAgdHhCdWlsZGVyLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24oaW52YWxpZFByZXBhcmVSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhc3NlcnQuZXF1YWwoZS5tZXNzYWdlLCAnaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
|