UNPKG

@coolwallet/kas

Version:
128 lines (127 loc) 21.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.testTxDataWithLargeInputs = exports.testTxData = exports.testTransaction = exports.testTooLargeChange = exports.testSendV1TxData = exports.testSendToV8TxData = exports.testSendToV8AddressTransaction = exports.testSendToV1AddressTransaction = exports.testOutputWithZeroAmount = exports.testOutputWithInvalidAddress = exports.testOutputValueWithTooManyDecimals = exports.testOutputValueMax = exports.testOutputValueLessThanDust = exports.testOutputTooLargeValue = exports.testNormalV8Output = exports.testNormalV1Output = exports.testNormalOutput = exports.testNormalInput = exports.testNormalChange = exports.testMaxTxData = exports.testMaxTransaction = exports.testMaxOutput = exports.testInvalidChange = exports.testInsufficientFeeChange = exports.testInputWithoutTxId = exports.testInputWithZeroAmount = exports.testInputWithInvalidInputPublicKey = void 0; var _types = require("../../config/types"); var _transaction = require("../../transaction"); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // input var testNormalInput = exports.testNormalInput = { preTxHash: '21aa1aff85fc054381f8536d1ab8dbe68f1673a7c67b7ad7816431603c58d32e', preIndex: 1, pubkeyBuf: Buffer.from('b1b89146cea93cf8bec6fa3d4d79c26586ac09a1e8ebf37aa5904629f63c857d', 'hex'), purposeIndex: 44, preValue: '2355557326', addressIndex: 0, scriptType: _types.ScriptType.P2PK_SCHNORR }; var testInputWithInvalidInputPublicKey = exports.testInputWithInvalidInputPublicKey = _objectSpread(_objectSpread({}, testNormalInput), {}, { pubkeyBuf: Buffer.alloc(0) }); var testInputWithoutTxId = exports.testInputWithoutTxId = _objectSpread(_objectSpread({}, testNormalInput), {}, { preTxHash: '' }); var testInputWithZeroAmount = exports.testInputWithZeroAmount = _objectSpread(_objectSpread({}, testNormalInput), {}, { preValue: '0' }); // output var testNormalOutput = exports.testNormalOutput = { address: 'kaspa:qq9rmfhgc758j4zquc8yvcngd0qhekt90qqf2czvshvdzdlq7jq8jphmvr028', value: '1000' }; var testMaxOutput = exports.testMaxOutput = { address: 'kaspa:qq9rmfhgc758j4zquc8yvcngd0qhekt90qqf2czvshvdzdlq7jq8jphmvr028', value: '2355554326' }; var testOutputWithInvalidAddress = exports.testOutputWithInvalidAddress = _objectSpread(_objectSpread({}, testNormalOutput), {}, { address: 'kaspa:qq9rmfhgc758j4zyvcngd0qhekt90qqf2czvshvdzdlq7jq8jphmvr028' }); var testOutputWithZeroAmount = exports.testOutputWithZeroAmount = _objectSpread(_objectSpread({}, testNormalOutput), {}, { value: '0' }); var testOutputValueWithTooManyDecimals = exports.testOutputValueWithTooManyDecimals = _objectSpread(_objectSpread({}, testNormalOutput), {}, { value: '49991291000000000' }); var testOutputValueLessThanDust = exports.testOutputValueLessThanDust = _objectSpread(_objectSpread({}, testNormalOutput), {}, { value: '546' }); var testOutputValueMax = exports.testOutputValueMax = _objectSpread(_objectSpread({}, testNormalOutput), {}, { value: '2355547146' }); var testOutputTooLargeValue = exports.testOutputTooLargeValue = _objectSpread(_objectSpread({}, testNormalOutput), {}, { value: '2355580000' }); var testNormalV1Output = exports.testNormalV1Output = { address: 'kaspa:qypmrwy3gm82j08chmr0502d08pxtp4vpxs736ln02jeq33f7c7g2lgk5a8egc4', value: '1000' }; var testNormalV8Output = exports.testNormalV8Output = { address: 'kaspa:pzuptuuyrnac0w8asd9jc896n2rep76l26xv0varw7kdwy6s6zrfzvsukssy2', value: '1000' }; // change var testNormalChange = exports.testNormalChange = { value: '2355546146', pubkeyBuf: Buffer.from('b1b89146cea93cf8bec6fa3d4d79c26586ac09a1e8ebf37aa5904629f63c857d', 'hex'), purposeIndex: 44, addressIndex: 0, scriptType: _types.ScriptType.P2PK_SCHNORR }; var testInsufficientFeeChange = exports.testInsufficientFeeChange = _objectSpread(_objectSpread({}, testNormalChange), {}, { value: '2355555326' }); var testTooLargeChange = exports.testTooLargeChange = _objectSpread(_objectSpread({}, testNormalChange), {}, { value: '1978668132840' }); var testInvalidChange = exports.testInvalidChange = _objectSpread(_objectSpread({}, testNormalChange), {}, { value: '-32854' }); // txData var testTxData = exports.testTxData = { version: 0, inputs: [testNormalInput], output: testNormalOutput, change: testNormalChange, dustSize: '600' }; var testTransaction = exports.testTransaction = _transaction.Transaction.fromTxData(testTxData); var testMaxTxData = exports.testMaxTxData = { version: 0, inputs: [testNormalInput], output: testMaxOutput, dustSize: '600' }; var testMaxTransaction = exports.testMaxTransaction = _transaction.Transaction.fromTxData(testMaxTxData); var testSendV1TxData = exports.testSendV1TxData = { version: 0, inputs: [testNormalInput], output: testNormalV1Output, change: testNormalChange, dustSize: '600' }; var testSendToV1AddressTransaction = exports.testSendToV1AddressTransaction = _transaction.Transaction.fromTxData(testSendV1TxData); var testSendToV8TxData = exports.testSendToV8TxData = { version: 0, inputs: [testNormalInput], output: testNormalV8Output, change: testNormalChange, dustSize: '600' }; var testSendToV8AddressTransaction = exports.testSendToV8AddressTransaction = _transaction.Transaction.fromTxData(testSendToV8TxData); var testTooLargeInputs = []; for (var i = 0; i < 840; i++) { testTooLargeInputs.push(testNormalInput); } var testTxDataWithLargeInputs = exports.testTxDataWithLargeInputs = _objectSpread(_objectSpread({}, testTxData), {}, { inputs: testTooLargeInputs, output: testNormalOutput, change: testTooLargeChange, dustSize: '600' }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZXMiLCJyZXF1aXJlIiwiX3RyYW5zYWN0aW9uIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwib2JqIiwia2V5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIk51bWJlciIsInRlc3ROb3JtYWxJbnB1dCIsImV4cG9ydHMiLCJwcmVUeEhhc2giLCJwcmVJbmRleCIsInB1YmtleUJ1ZiIsIkJ1ZmZlciIsImZyb20iLCJwdXJwb3NlSW5kZXgiLCJwcmVWYWx1ZSIsImFkZHJlc3NJbmRleCIsInNjcmlwdFR5cGUiLCJTY3JpcHRUeXBlIiwiUDJQS19TQ0hOT1JSIiwidGVzdElucHV0V2l0aEludmFsaWRJbnB1dFB1YmxpY0tleSIsImFsbG9jIiwidGVzdElucHV0V2l0aG91dFR4SWQiLCJ0ZXN0SW5wdXRXaXRoWmVyb0Ftb3VudCIsInRlc3ROb3JtYWxPdXRwdXQiLCJhZGRyZXNzIiwidGVzdE1heE91dHB1dCIsInRlc3RPdXRwdXRXaXRoSW52YWxpZEFkZHJlc3MiLCJ0ZXN0T3V0cHV0V2l0aFplcm9BbW91bnQiLCJ0ZXN0T3V0cHV0VmFsdWVXaXRoVG9vTWFueURlY2ltYWxzIiwidGVzdE91dHB1dFZhbHVlTGVzc1RoYW5EdXN0IiwidGVzdE91dHB1dFZhbHVlTWF4IiwidGVzdE91dHB1dFRvb0xhcmdlVmFsdWUiLCJ0ZXN0Tm9ybWFsVjFPdXRwdXQiLCJ0ZXN0Tm9ybWFsVjhPdXRwdXQiLCJ0ZXN0Tm9ybWFsQ2hhbmdlIiwidGVzdEluc3VmZmljaWVudEZlZUNoYW5nZSIsInRlc3RUb29MYXJnZUNoYW5nZSIsInRlc3RJbnZhbGlkQ2hhbmdlIiwidGVzdFR4RGF0YSIsInZlcnNpb24iLCJpbnB1dHMiLCJvdXRwdXQiLCJjaGFuZ2UiLCJkdXN0U2l6ZSIsInRlc3RUcmFuc2FjdGlvbiIsIlRyYW5zYWN0aW9uIiwiZnJvbVR4RGF0YSIsInRlc3RNYXhUeERhdGEiLCJ0ZXN0TWF4VHJhbnNhY3Rpb24iLCJ0ZXN0U2VuZFYxVHhEYXRhIiwidGVzdFNlbmRUb1YxQWRkcmVzc1RyYW5zYWN0aW9uIiwidGVzdFNlbmRUb1Y4VHhEYXRhIiwidGVzdFNlbmRUb1Y4QWRkcmVzc1RyYW5zYWN0aW9uIiwidGVzdFRvb0xhcmdlSW5wdXRzIiwidGVzdFR4RGF0YVdpdGhMYXJnZUlucHV0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9fX3Rlc3RfXy90ZXN0RGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeERhdGEsIElucHV0LCBPdXRwdXQsIENoYW5nZSwgU2NyaXB0VHlwZSB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uJztcblxuLy8gaW5wdXRcbmV4cG9ydCBjb25zdCB0ZXN0Tm9ybWFsSW5wdXQ6IElucHV0ID0ge1xuICBwcmVUeEhhc2g6ICcyMWFhMWFmZjg1ZmMwNTQzODFmODUzNmQxYWI4ZGJlNjhmMTY3M2E3YzY3YjdhZDc4MTY0MzE2MDNjNThkMzJlJyxcbiAgcHJlSW5kZXg6IDEsXG4gIHB1YmtleUJ1ZjogQnVmZmVyLmZyb20oJ2IxYjg5MTQ2Y2VhOTNjZjhiZWM2ZmEzZDRkNzljMjY1ODZhYzA5YTFlOGViZjM3YWE1OTA0NjI5ZjYzYzg1N2QnLCAnaGV4JyksXG4gIHB1cnBvc2VJbmRleDogNDQsXG4gIHByZVZhbHVlOiAnMjM1NTU1NzMyNicsXG4gIGFkZHJlc3NJbmRleDogMCxcbiAgc2NyaXB0VHlwZTogU2NyaXB0VHlwZS5QMlBLX1NDSE5PUlIsXG59O1xuZXhwb3J0IGNvbnN0IHRlc3RJbnB1dFdpdGhJbnZhbGlkSW5wdXRQdWJsaWNLZXkgPSB7XG4gIC4uLnRlc3ROb3JtYWxJbnB1dCxcbiAgcHVia2V5QnVmOiBCdWZmZXIuYWxsb2MoMCksXG59O1xuZXhwb3J0IGNvbnN0IHRlc3RJbnB1dFdpdGhvdXRUeElkID0ge1xuICAuLi50ZXN0Tm9ybWFsSW5wdXQsXG4gIHByZVR4SGFzaDogJycsXG59O1xuZXhwb3J0IGNvbnN0IHRlc3RJbnB1dFdpdGhaZXJvQW1vdW50ID0ge1xuICAuLi50ZXN0Tm9ybWFsSW5wdXQsXG4gIHByZVZhbHVlOiAnMCcsXG59O1xuLy8gb3V0cHV0XG5leHBvcnQgY29uc3QgdGVzdE5vcm1hbE91dHB1dDogT3V0cHV0ID0ge1xuICBhZGRyZXNzOiAna2FzcGE6cXE5cm1maGdjNzU4ajR6cXVjOHl2Y25nZDBxaGVrdDkwcXFmMmN6dnNodmR6ZGxxN2pxOGpwaG12cjAyOCcsXG4gIHZhbHVlOiAnMTAwMCcsXG59O1xuZXhwb3J0IGNvbnN0IHRlc3RNYXhPdXRwdXQ6IE91dHB1dCA9IHtcbiAgYWRkcmVzczogJ2thc3BhOnFxOXJtZmhnYzc1OGo0enF1Yzh5dmNuZ2QwcWhla3Q5MHFxZjJjenZzaHZkemRscTdqcThqcGhtdnIwMjgnLFxuICB2YWx1ZTogJzIzNTU1NTQzMjYnLFxufTtcbmV4cG9ydCBjb25zdCB0ZXN0T3V0cHV0V2l0aEludmFsaWRBZGRyZXNzID0ge1xuICAuLi50ZXN0Tm9ybWFsT3V0cHV0LFxuICBhZGRyZXNzOiAna2FzcGE6cXE5cm1maGdjNzU4ajR6eXZjbmdkMHFoZWt0OTBxcWYyY3p2c2h2ZHpkbHE3anE4anBobXZyMDI4Jyxcbn07XG5leHBvcnQgY29uc3QgdGVzdE91dHB1dFdpdGhaZXJvQW1vdW50ID0ge1xuICAuLi50ZXN0Tm9ybWFsT3V0cHV0LFxuICB2YWx1ZTogJzAnLFxufTtcbmV4cG9ydCBjb25zdCB0ZXN0T3V0cHV0VmFsdWVXaXRoVG9vTWFueURlY2ltYWxzID0ge1xuICAuLi50ZXN0Tm9ybWFsT3V0cHV0LFxuICB2YWx1ZTogJzQ5OTkxMjkxMDAwMDAwMDAwJyxcbn07XG5leHBvcnQgY29uc3QgdGVzdE91dHB1dFZhbHVlTGVzc1RoYW5EdXN0ID0ge1xuICAuLi50ZXN0Tm9ybWFsT3V0cHV0LFxuICB2YWx1ZTogJzU0NicsXG59O1xuZXhwb3J0IGNvbnN0IHRlc3RPdXRwdXRWYWx1ZU1heCA9IHtcbiAgLi4udGVzdE5vcm1hbE91dHB1dCxcbiAgdmFsdWU6ICcyMzU1NTQ3MTQ2Jyxcbn07XG5leHBvcnQgY29uc3QgdGVzdE91dHB1dFRvb0xhcmdlVmFsdWUgPSB7XG4gIC4uLnRlc3ROb3JtYWxPdXRwdXQsXG4gIHZhbHVlOiAnMjM1NTU4MDAwMCcsXG59O1xuZXhwb3J0IGNvbnN0IHRlc3ROb3JtYWxWMU91dHB1dDogT3V0cHV0ID0ge1xuICBhZGRyZXNzOiAna2FzcGE6cXlwbXJ3eTNnbTgyajA4Y2htcjA1MDJkMDhweHRwNHZweHM3MzZsbjAyamVxMzNmN2M3ZzJsZ2s1YThlZ2M0JyxcbiAgdmFsdWU6ICcxMDAwJyxcbn07XG5leHBvcnQgY29uc3QgdGVzdE5vcm1hbFY4T3V0cHV0OiBPdXRwdXQgPSB7XG4gIGFkZHJlc3M6ICdrYXNwYTpwenVwdHV1eXJuYWMwdzhhc2Q5amM4OTZuMnJlcDc2bDI2eHYwdmFydzdrZHd5NnM2enJmenZzdWtzc3kyJyxcbiAgdmFsdWU6ICcxMDAwJyxcbn07XG4vLyBjaGFuZ2VcbmV4cG9ydCBjb25zdCB0ZXN0Tm9ybWFsQ2hhbmdlOiBDaGFuZ2UgPSB7XG4gIHZhbHVlOiAnMjM1NTU0NjE0NicsXG4gIHB1YmtleUJ1ZjogQnVmZmVyLmZyb20oJ2IxYjg5MTQ2Y2VhOTNjZjhiZWM2ZmEzZDRkNzljMjY1ODZhYzA5YTFlOGViZjM3YWE1OTA0NjI5ZjYzYzg1N2QnLCAnaGV4JyksXG4gIHB1cnBvc2VJbmRleDogNDQsXG4gIGFkZHJlc3NJbmRleDogMCxcbiAgc2NyaXB0VHlwZTogU2NyaXB0VHlwZS5QMlBLX1NDSE5PUlIsXG59O1xuZXhwb3J0IGNvbnN0IHRlc3RJbnN1ZmZpY2llbnRGZWVDaGFuZ2U6IENoYW5nZSA9IHtcbiAgLi4udGVzdE5vcm1hbENoYW5nZSwgXG4gIHZhbHVlOiAnMjM1NTU1NTMyNicsXG59O1xuZXhwb3J0IGNvbnN0IHRlc3RUb29MYXJnZUNoYW5nZTogQ2hhbmdlID0ge1xuICAuLi50ZXN0Tm9ybWFsQ2hhbmdlLFxuICB2YWx1ZTogJzE5Nzg2NjgxMzI4NDAnLFxufTtcbmV4cG9ydCBjb25zdCB0ZXN0SW52YWxpZENoYW5nZTogQ2hhbmdlID0ge1xuICAuLi50ZXN0Tm9ybWFsQ2hhbmdlLFxuICB2YWx1ZTogJy0zMjg1NCcsXG59O1xuLy8gdHhEYXRhXG5leHBvcnQgY29uc3QgdGVzdFR4RGF0YTogVHhEYXRhID0ge1xuICB2ZXJzaW9uOiAwLFxuICBpbnB1dHM6IFt0ZXN0Tm9ybWFsSW5wdXRdLFxuICBvdXRwdXQ6IHRlc3ROb3JtYWxPdXRwdXQsXG4gIGNoYW5nZTogdGVzdE5vcm1hbENoYW5nZSxcbiAgZHVzdFNpemU6ICc2MDAnLFxufTtcbmV4cG9ydCBjb25zdCB0ZXN0VHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZnJvbVR4RGF0YSh0ZXN0VHhEYXRhKTtcbmV4cG9ydCBjb25zdCB0ZXN0TWF4VHhEYXRhOiBUeERhdGEgPSB7XG4gIHZlcnNpb246IDAsXG4gIGlucHV0czogW3Rlc3ROb3JtYWxJbnB1dF0sXG4gIG91dHB1dDogdGVzdE1heE91dHB1dCxcbiAgZHVzdFNpemU6ICc2MDAnLFxufTtcbmV4cG9ydCBjb25zdCB0ZXN0TWF4VHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZnJvbVR4RGF0YSh0ZXN0TWF4VHhEYXRhKTtcbmV4cG9ydCBjb25zdCB0ZXN0U2VuZFYxVHhEYXRhOiBUeERhdGEgPSB7XG4gIHZlcnNpb246IDAsXG4gIGlucHV0czogW3Rlc3ROb3JtYWxJbnB1dF0sXG4gIG91dHB1dDogdGVzdE5vcm1hbFYxT3V0cHV0LFxuICBjaGFuZ2U6IHRlc3ROb3JtYWxDaGFuZ2UsXG4gIGR1c3RTaXplOiAnNjAwJyxcbn07XG5leHBvcnQgY29uc3QgdGVzdFNlbmRUb1YxQWRkcmVzc1RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IFRyYW5zYWN0aW9uLmZyb21UeERhdGEodGVzdFNlbmRWMVR4RGF0YSk7XG5leHBvcnQgY29uc3QgdGVzdFNlbmRUb1Y4VHhEYXRhOiBUeERhdGEgPSB7XG4gIHZlcnNpb246IDAsXG4gIGlucHV0czogW3Rlc3ROb3JtYWxJbnB1dF0sXG4gIG91dHB1dDogdGVzdE5vcm1hbFY4T3V0cHV0LFxuICBjaGFuZ2U6IHRlc3ROb3JtYWxDaGFuZ2UsXG4gIGR1c3RTaXplOiAnNjAwJyxcbn07XG5leHBvcnQgY29uc3QgdGVzdFNlbmRUb1Y4QWRkcmVzc1RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IFRyYW5zYWN0aW9uLmZyb21UeERhdGEodGVzdFNlbmRUb1Y4VHhEYXRhKTtcbmNvbnN0IHRlc3RUb29MYXJnZUlucHV0cyA9IFtdO1xuZm9yIChsZXQgaSA9IDA7IGkgPCA4NDA7IGkrKykge1xuICB0ZXN0VG9vTGFyZ2VJbnB1dHMucHVzaCh0ZXN0Tm9ybWFsSW5wdXQpO1xufVxuZXhwb3J0IGNvbnN0IHRlc3RUeERhdGFXaXRoTGFyZ2VJbnB1dHM6IFR4RGF0YSA9IHtcbiAgLi4udGVzdFR4RGF0YSxcbiAgaW5wdXRzOiB0ZXN0VG9vTGFyZ2VJbnB1dHMsXG4gIG91dHB1dDogdGVzdE5vcm1hbE91dHB1dCxcbiAgY2hhbmdlOiB0ZXN0VG9vTGFyZ2VDaGFuZ2UsXG4gIGR1c3RTaXplOiAnNjAwJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7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