{"id":"0f0288db10b3594f5409f2728f47d3e7","_format":"hh-sol-build-info-1","solcVersion":"0.8.4","solcLongVersion":"0.8.4+commit.c7e474f2","input":{"language":"Solidity","sources":{"contracts/Buffer.sol":{"content":"// SPDX-License-Identifier: BSD-2-Clause\npragma solidity ^0.8.4;\n\n/**\n* @dev A library for working with mutable byte buffers in Solidity.\n*\n* Byte buffers are mutable and expandable, and provide a variety of primitives\n* for appending to them. At any time you can fetch a bytes object containing the\n* current contents of the buffer. The bytes object should not be stored between\n* operations, as it may change due to resizing of the buffer.\n*/\nlibrary Buffer {\n    /**\n    * @dev Represents a mutable buffer. Buffers have a current value (buf) and\n    *      a capacity. The capacity may be longer than the current value, in\n    *      which case it can be extended without the need to allocate more memory.\n    */\n    struct buffer {\n        bytes buf;\n        uint capacity;\n    }\n\n    /**\n    * @dev Initializes a buffer with an initial capacity.\n    * @param buf The buffer to initialize.\n    * @param capacity The number of bytes of space to allocate the buffer.\n    * @return The buffer, for chaining.\n    */\n    function init(buffer memory buf, uint capacity) internal pure returns(buffer memory) {\n        if (capacity % 32 != 0) {\n            capacity += 32 - (capacity % 32);\n        }\n        // Allocate space for the buffer data\n        buf.capacity = capacity;\n        assembly {\n            let ptr := mload(0x40)\n            mstore(buf, ptr)\n            mstore(ptr, 0)\n            let fpm := add(32, add(ptr, capacity))\n            if lt(fpm, ptr) {\n                revert(0, 0)\n            }\n            mstore(0x40, fpm)\n        }\n        return buf;\n    }\n\n    /**\n    * @dev Initializes a new buffer from an existing bytes object.\n    *      Changes to the buffer may mutate the original value.\n    * @param b The bytes object to initialize the buffer with.\n    * @return A new buffer.\n    */\n    function fromBytes(bytes memory b) internal pure returns(buffer memory) {\n        buffer memory buf;\n        buf.buf = b;\n        buf.capacity = b.length;\n        return buf;\n    }\n\n    function resize(buffer memory buf, uint capacity) private pure {\n        bytes memory oldbuf = buf.buf;\n        init(buf, capacity);\n        append(buf, oldbuf);\n    }\n\n    /**\n    * @dev Sets buffer length to 0.\n    * @param buf The buffer to truncate.\n    * @return The original buffer, for chaining..\n    */\n    function truncate(buffer memory buf) internal pure returns (buffer memory) {\n        assembly {\n            let bufptr := mload(buf)\n            mstore(bufptr, 0)\n        }\n        return buf;\n    }\n\n    /**\n    * @dev Appends len bytes of a byte string to a buffer. Resizes if doing so would exceed\n    *      the capacity of the buffer.\n    * @param buf The buffer to append to.\n    * @param data The data to append.\n    * @param len The number of bytes to copy.\n    * @return The original buffer, for chaining.\n    */\n    function append(buffer memory buf, bytes memory data, uint len) internal pure returns(buffer memory) {\n        require(len <= data.length);\n\n        uint off = buf.buf.length;\n        uint newCapacity = off + len;\n        if (newCapacity > buf.capacity) {\n            resize(buf, newCapacity * 2);\n        }\n\n        uint dest;\n        uint src;\n        assembly {\n            // Memory address of the buffer data\n            let bufptr := mload(buf)\n            // Length of existing buffer data\n            let buflen := mload(bufptr)\n            // Start address = buffer address + offset + sizeof(buffer length)\n            dest := add(add(bufptr, 32), off)\n            // Update buffer length if we're extending it\n            if gt(newCapacity, buflen) {\n                mstore(bufptr, newCapacity)\n            }\n            src := add(data, 32)\n        }\n\n        // Copy word-length chunks while possible\n        for (; len >= 32; len -= 32) {\n            assembly {\n                mstore(dest, mload(src))\n            }\n            dest += 32;\n            src += 32;\n        }\n\n        // Copy remaining bytes\n        unchecked {\n            uint mask = (256 ** (32 - len)) - 1;\n            assembly {\n                let srcpart := and(mload(src), not(mask))\n                let destpart := and(mload(dest), mask)\n                mstore(dest, or(destpart, srcpart))\n            }\n        }\n\n        return buf;\n    }\n\n    /**\n    * @dev Appends a byte string to a buffer. Resizes if doing so would exceed\n    *      the capacity of the buffer.\n    * @param buf The buffer to append to.\n    * @param data The data to append.\n    * @return The original buffer, for chaining.\n    */\n    function append(buffer memory buf, bytes memory data) internal pure returns (buffer memory) {\n        return append(buf, data, data.length);\n    }\n\n    /**\n    * @dev Appends a byte to the buffer. Resizes if doing so would exceed the\n    *      capacity of the buffer.\n    * @param buf The buffer to append to.\n    * @param data The data to append.\n    * @return The original buffer, for chaining.\n    */\n    function appendUint8(buffer memory buf, uint8 data) internal pure returns(buffer memory) {\n        uint off = buf.buf.length;\n        uint offPlusOne = off + 1;\n        if (off >= buf.capacity) {\n            resize(buf, offPlusOne * 2);\n        }\n\n        assembly {\n            // Memory address of the buffer data\n            let bufptr := mload(buf)\n            // Address = buffer address + sizeof(buffer length) + off\n            let dest := add(add(bufptr, off), 32)\n            mstore8(dest, data)\n            // Update buffer length if we extended it\n            if gt(offPlusOne, mload(bufptr)) {\n                mstore(bufptr, offPlusOne)\n            }\n        }\n\n        return buf;\n    }\n\n    /**\n    * @dev Appends len bytes of bytes32 to a buffer. Resizes if doing so would\n    *      exceed the capacity of the buffer.\n    * @param buf The buffer to append to.\n    * @param data The data to append.\n    * @param len The number of bytes to write (left-aligned).\n    * @return The original buffer, for chaining.\n    */\n    function append(buffer memory buf, bytes32 data, uint len) private pure returns(buffer memory) {\n        uint off = buf.buf.length;\n        uint newCapacity = len + off;\n        if (newCapacity > buf.capacity) {\n            resize(buf, newCapacity * 2);\n        }\n\n        unchecked {\n            uint mask = (256 ** len) - 1;\n            // Right-align data\n            data = data >> (8 * (32 - len));\n            assembly {\n                // Memory address of the buffer data\n                let bufptr := mload(buf)\n                // Address = buffer address + sizeof(buffer length) + newCapacity\n                let dest := add(bufptr, newCapacity)\n                mstore(dest, or(and(mload(dest), not(mask)), data))\n                // Update buffer length if we extended it\n                if gt(newCapacity, mload(bufptr)) {\n                    mstore(bufptr, newCapacity)\n                }\n            }\n        }\n        return buf;\n    }\n\n    /**\n    * @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\n    *      the capacity of the buffer.\n    * @param buf The buffer to append to.\n    * @param data The data to append.\n    * @return The original buffer, for chhaining.\n    */\n    function appendBytes20(buffer memory buf, bytes20 data) internal pure returns (buffer memory) {\n        return append(buf, bytes32(data), 20);\n    }\n\n    /**\n    * @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\n    *      the capacity of the buffer.\n    * @param buf The buffer to append to.\n    * @param data The data to append.\n    * @return The original buffer, for chaining.\n    */\n    function appendBytes32(buffer memory buf, bytes32 data) internal pure returns (buffer memory) {\n        return append(buf, data, 32);\n    }\n\n    /**\n     * @dev Appends a byte to the end of the buffer. Resizes if doing so would\n     *      exceed the capacity of the buffer.\n     * @param buf The buffer to append to.\n     * @param data The data to append.\n     * @param len The number of bytes to write (right-aligned).\n     * @return The original buffer.\n     */\n    function appendInt(buffer memory buf, uint data, uint len) internal pure returns(buffer memory) {\n        uint off = buf.buf.length;\n        uint newCapacity = len + off;\n        if (newCapacity > buf.capacity) {\n            resize(buf, newCapacity * 2);\n        }\n\n        unchecked {\n            uint mask = (256 ** len) - 1;\n            assembly {\n                // Memory address of the buffer data\n                let bufptr := mload(buf)\n                // Address = buffer address + sizeof(buffer length) + newCapacity\n                let dest := add(bufptr, newCapacity)\n                mstore(dest, or(and(mload(dest), not(mask)), data))\n                // Update buffer length if we extended it\n                if gt(newCapacity, mload(bufptr)) {\n                    mstore(bufptr, newCapacity)\n                }\n            }\n        }\n        return buf;\n    }\n}\n"},"test/TestBuffer.sol":{"content":"// SPDX-License-Identifier: BSD-2-Clause\npragma solidity >=0.8.4;\n\nimport \"./../contracts/Buffer.sol\";\n\ncontract TestBuffer {\n    using Buffer for Buffer.buffer;\n\n    function checkBufferInitOverflow() public pure {\n        Buffer.buffer memory buf;\n        buf.init(256);\n        buf.init(2**256-1);\n    }\n\n    function testBufferAppend() public pure {\n        Buffer.buffer memory buf;\n        buf.init(256);\n        buf.append(\"Hello\");\n        buf.append(\", \");\n        buf.append(\"world!\");\n        require(\n          keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"Hello, world!\")),\n          \"Unexpected buffer contents.\"\n        );\n    }\n\n    function testBufferAppendUint8() public pure {\n        Buffer.buffer memory buf;\n        Buffer.init(buf, 256);\n        buf.append(\"Hello,\");\n        buf.appendUint8(0x20);\n        buf.append(\"world!\");\n        require(\n          keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"Hello, world!\")),\n          \"Unexpected buffer contents.\"\n        );\n    }\n\n    function testBufferResizeAppendUint8() public pure {\n        Buffer.buffer memory buf;\n        Buffer.init(buf, 32);\n        buf.append(\"01234567890123456789012345678901\");\n        buf.appendUint8(0x20);\n        require(buf.capacity == 96, \"Expected buffer capacity to be 96\");\n        require(buf.buf.length == 33, \"Expected buffer length to be 33\");\n        require(\n          keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"01234567890123456789012345678901 \")),\n          \"Unexpected buffer contents.\"\n        );\n    }\n\n    function testBufferResizeAppendBytes() public pure {\n      Buffer.buffer memory buf;\n      Buffer.init(buf, 32);\n      buf.append(\"01234567890123456789012345678901\");\n      buf.append(\"23\");\n      require(buf.capacity == 96, \"Expected buffer capacity to be 96\");\n      require(buf.buf.length == 34, \"Expected buffer length to be 33\");\n      require(\n        keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"0123456789012345678901234567890123\")),\n        \"Unexpected buffer contents.\"\n      );\n    }\n\n    function testBufferResizeAppendManyBytes() public pure {\n      Buffer.buffer memory buf;\n      Buffer.init(buf, 32);\n      buf.append(\"01234567890123456789012345678901\");\n      buf.append(\"0123456789012345678901234567890101234567890123456789012345678901\");\n      require(buf.capacity == 192, \"Expected buffer capacity to be 192\");\n      require(buf.buf.length == 96, \"Expected buffer length to be 96\");\n      require(\n        keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"012345678901234567890123456789010123456789012345678901234567890101234567890123456789012345678901\")),\n        \"Unexpected buffer contents.\"\n      );\n    }\n\n    function testBufferZeroSized() public pure {\n      Buffer.buffer memory buf;\n      Buffer.init(buf, 0);\n      buf.append(\"first\");\n      require(buf.capacity == 32, \"Expected buffer capacity to be 32\");\n      require(buf.buf.length == 5, \"Expected buffer length to be 5\");\n      require(\n        keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"first\")),\n        \"Unexpected buffer contents.\"\n      );\n    }\n\n    function testBufferAppendInt() public pure {\n      Buffer.buffer memory buf;\n      Buffer.init(buf, 256);\n      buf.append(\"Hello\");\n      buf.appendInt(0x2c20, 2);\n      buf.append(\"world!\");\n      require(\n        keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"Hello, world!\")),\n        \"Unexpected buffer contents.\"\n      );\n    }\n\n    function testBufferResizeAppendInt() public pure {\n      Buffer.buffer memory buf;\n      Buffer.init(buf, 32);\n      buf.append(\"01234567890123456789012345678901\");\n      buf.appendInt(0x2020, 2);\n      require(buf.capacity == 96, \"Expected buffer capacity to be 96\");\n      require(buf.buf.length ==  34, \"Expected buffer length to be 34\");\n      require(\n        keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"01234567890123456789012345678901  \")),\n        \"Unexpected buffer contents.\"\n      );\n      buf.appendInt(0x2020202020202020202020202020202020202020202020202020202020202020, 32);\n      require(buf.buf.length == 66, \"Expected buffer length to be 66\");\n      require(\n        keccak256(abi.encodePacked(string(buf.buf))) == keccak256(abi.encodePacked(\"01234567890123456789012345678901                                  \")),\n        \"Unexpected buffer contents.\"\n      );\n    }\n}\n"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/Buffer.sol":{"ast":{"absolutePath":"contracts/Buffer.sol","exportedSymbols":{"Buffer":[421]},"id":422,"license":"BSD-2-Clause","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".4"],"nodeType":"PragmaDirective","src":"41:23:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"66:378:0","text":" @dev A library for working with mutable byte buffers in Solidity.\n Byte buffers are mutable and expandable, and provide a variety of primitives\n for appending to them. At any time you can fetch a bytes object containing the\n current contents of the buffer. The bytes object should not be stored between\n operations, as it may change due to resizing of the buffer."},"fullyImplemented":true,"id":421,"linearizedBaseContracts":[421],"name":"Buffer","nameLocation":"453:6:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Buffer.buffer","id":7,"members":[{"constant":false,"id":4,"mutability":"mutable","name":"buf","nameLocation":"750:3:0","nodeType":"VariableDeclaration","scope":7,"src":"744:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3,"name":"bytes","nodeType":"ElementaryTypeName","src":"744:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6,"mutability":"mutable","name":"capacity","nameLocation":"768:8:0","nodeType":"VariableDeclaration","scope":7,"src":"763:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5,"name":"uint","nodeType":"ElementaryTypeName","src":"763:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"buffer","nameLocation":"727:6:0","nodeType":"StructDefinition","scope":421,"src":"720:63:0","visibility":"public"},{"body":{"id":44,"nodeType":"Block","src":"1105:470:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":23,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":21,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":19,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"1119:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3332","id":20,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1130:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"1119:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":22,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1136:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1119:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":34,"nodeType":"IfStatement","src":"1115:81:0","trueBody":{"id":33,"nodeType":"Block","src":"1139:57:0","statements":[{"expression":{"id":31,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"1153:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1165:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"1171:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3332","id":27,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1182:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"1171:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":29,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1170:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1165:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1153:32:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":32,"nodeType":"ExpressionStatement","src":"1153:32:0"}]}},{"expression":{"id":39,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":35,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11,"src":"1251:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":37,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"1251:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"1266:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1251:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":40,"nodeType":"ExpressionStatement","src":"1251:23:0"},{"AST":{"nodeType":"YulBlock","src":"1293:256:0","statements":[{"nodeType":"YulVariableDeclaration","src":"1307:22:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1324:4:0","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1318:5:0"},"nodeType":"YulFunctionCall","src":"1318:11:0"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"1311:3:0","type":""}]},{"expression":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"1349:3:0"},{"name":"ptr","nodeType":"YulIdentifier","src":"1354:3:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1342:6:0"},"nodeType":"YulFunctionCall","src":"1342:16:0"},"nodeType":"YulExpressionStatement","src":"1342:16:0"},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1378:3:0"},{"kind":"number","nodeType":"YulLiteral","src":"1383:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1371:6:0"},"nodeType":"YulFunctionCall","src":"1371:14:0"},"nodeType":"YulExpressionStatement","src":"1371:14:0"},{"nodeType":"YulVariableDeclaration","src":"1398:38:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1413:2:0","type":"","value":"32"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"1421:3:0"},{"name":"capacity","nodeType":"YulIdentifier","src":"1426:8:0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1417:3:0"},"nodeType":"YulFunctionCall","src":"1417:18:0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1409:3:0"},"nodeType":"YulFunctionCall","src":"1409:27:0"},"variables":[{"name":"fpm","nodeType":"YulTypedName","src":"1402:3:0","type":""}]},{"body":{"nodeType":"YulBlock","src":"1465:44:0","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1490:1:0","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1493:1:0","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1483:6:0"},"nodeType":"YulFunctionCall","src":"1483:12:0"},"nodeType":"YulExpressionStatement","src":"1483:12:0"}]},"condition":{"arguments":[{"name":"fpm","nodeType":"YulIdentifier","src":"1455:3:0"},{"name":"ptr","nodeType":"YulIdentifier","src":"1460:3:0"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1452:2:0"},"nodeType":"YulFunctionCall","src":"1452:12:0"},"nodeType":"YulIf","src":"1449:2:0"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1529:4:0","type":"","value":"0x40"},{"name":"fpm","nodeType":"YulIdentifier","src":"1535:3:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1522:6:0"},"nodeType":"YulFunctionCall","src":"1522:17:0"},"nodeType":"YulExpressionStatement","src":"1522:17:0"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":11,"isOffset":false,"isSlot":false,"src":"1349:3:0","valueSize":1},{"declaration":13,"isOffset":false,"isSlot":false,"src":"1426:8:0","valueSize":1}],"id":41,"nodeType":"InlineAssembly","src":"1284:265:0"},{"expression":{"id":42,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11,"src":"1565:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":18,"id":43,"nodeType":"Return","src":"1558:10:0"}]},"documentation":{"id":8,"nodeType":"StructuredDocumentation","src":"789:226:0","text":" @dev Initializes a buffer with an initial capacity.\n @param buf The buffer to initialize.\n @param capacity The number of bytes of space to allocate the buffer.\n @return The buffer, for chaining."},"id":45,"implemented":true,"kind":"function","modifiers":[],"name":"init","nameLocation":"1029:4:0","nodeType":"FunctionDefinition","parameters":{"id":14,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11,"mutability":"mutable","name":"buf","nameLocation":"1048:3:0","nodeType":"VariableDeclaration","scope":45,"src":"1034:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":10,"nodeType":"UserDefinedTypeName","pathNode":{"id":9,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"1034:6:0"},"referencedDeclaration":7,"src":"1034:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":13,"mutability":"mutable","name":"capacity","nameLocation":"1058:8:0","nodeType":"VariableDeclaration","scope":45,"src":"1053:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12,"name":"uint","nodeType":"ElementaryTypeName","src":"1053:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1033:34:0"},"returnParameters":{"id":18,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45,"src":"1090:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":16,"nodeType":"UserDefinedTypeName","pathNode":{"id":15,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"1090:6:0"},"referencedDeclaration":7,"src":"1090:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"1089:15:0"},"scope":421,"src":"1020:555:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":73,"nodeType":"Block","src":"1890:108:0","statements":[{"assignments":[56],"declarations":[{"constant":false,"id":56,"mutability":"mutable","name":"buf","nameLocation":"1914:3:0","nodeType":"VariableDeclaration","scope":73,"src":"1900:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":55,"nodeType":"UserDefinedTypeName","pathNode":{"id":54,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"1900:6:0"},"referencedDeclaration":7,"src":"1900:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":57,"nodeType":"VariableDeclarationStatement","src":"1900:17:0"},{"expression":{"id":62,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"1927:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":60,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"1927:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48,"src":"1937:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1927:11:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63,"nodeType":"ExpressionStatement","src":"1927:11:0"},{"expression":{"id":69,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":64,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"1948:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":66,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"1948:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48,"src":"1963:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1963:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1948:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":70,"nodeType":"ExpressionStatement","src":"1948:23:0"},{"expression":{"id":71,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"1988:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":53,"id":72,"nodeType":"Return","src":"1981:10:0"}]},"documentation":{"id":46,"nodeType":"StructuredDocumentation","src":"1581:232:0","text":" @dev Initializes a new buffer from an existing bytes object.\n      Changes to the buffer may mutate the original value.\n @param b The bytes object to initialize the buffer with.\n @return A new buffer."},"id":74,"implemented":true,"kind":"function","modifiers":[],"name":"fromBytes","nameLocation":"1827:9:0","nodeType":"FunctionDefinition","parameters":{"id":49,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48,"mutability":"mutable","name":"b","nameLocation":"1850:1:0","nodeType":"VariableDeclaration","scope":74,"src":"1837:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47,"name":"bytes","nodeType":"ElementaryTypeName","src":"1837:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1836:16:0"},"returnParameters":{"id":53,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74,"src":"1875:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":51,"nodeType":"UserDefinedTypeName","pathNode":{"id":50,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"1875:6:0"},"referencedDeclaration":7,"src":"1875:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"1874:15:0"},"scope":421,"src":"1818:180:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":97,"nodeType":"Block","src":"2067:104:0","statements":[{"assignments":[83],"declarations":[{"constant":false,"id":83,"mutability":"mutable","name":"oldbuf","nameLocation":"2090:6:0","nodeType":"VariableDeclaration","scope":97,"src":"2077:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":82,"name":"bytes","nodeType":"ElementaryTypeName","src":"2077:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":86,"initialValue":{"expression":{"id":84,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77,"src":"2099:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":85,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"2099:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2077:29:0"},{"expression":{"arguments":[{"id":88,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77,"src":"2121:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"id":89,"name":"capacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"2126:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87,"name":"init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"2116:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2116:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":91,"nodeType":"ExpressionStatement","src":"2116:19:0"},{"expression":{"arguments":[{"id":93,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77,"src":"2152:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"id":94,"name":"oldbuf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83,"src":"2157:6:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92,"name":"append","nodeType":"Identifier","overloadedDeclarations":[200,220,326],"referencedDeclaration":220,"src":"2145:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":95,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2145:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":96,"nodeType":"ExpressionStatement","src":"2145:19:0"}]},"id":98,"implemented":true,"kind":"function","modifiers":[],"name":"resize","nameLocation":"2013:6:0","nodeType":"FunctionDefinition","parameters":{"id":80,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77,"mutability":"mutable","name":"buf","nameLocation":"2034:3:0","nodeType":"VariableDeclaration","scope":98,"src":"2020:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":76,"nodeType":"UserDefinedTypeName","pathNode":{"id":75,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2020:6:0"},"referencedDeclaration":7,"src":"2020:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":79,"mutability":"mutable","name":"capacity","nameLocation":"2044:8:0","nodeType":"VariableDeclaration","scope":98,"src":"2039:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78,"name":"uint","nodeType":"ElementaryTypeName","src":"2039:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2019:34:0"},"returnParameters":{"id":81,"nodeType":"ParameterList","parameters":[],"src":"2067:0:0"},"scope":421,"src":"2004:167:0","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":111,"nodeType":"Block","src":"2394:123:0","statements":[{"AST":{"nodeType":"YulBlock","src":"2413:78:0","statements":[{"nodeType":"YulVariableDeclaration","src":"2427:24:0","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"2447:3:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2441:5:0"},"nodeType":"YulFunctionCall","src":"2441:10:0"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"2431:6:0","type":""}]},{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"2471:6:0"},{"kind":"number","nodeType":"YulLiteral","src":"2479:1:0","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2464:6:0"},"nodeType":"YulFunctionCall","src":"2464:17:0"},"nodeType":"YulExpressionStatement","src":"2464:17:0"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":102,"isOffset":false,"isSlot":false,"src":"2447:3:0","valueSize":1}],"id":108,"nodeType":"InlineAssembly","src":"2404:87:0"},{"expression":{"id":109,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102,"src":"2507:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":107,"id":110,"nodeType":"Return","src":"2500:10:0"}]},"documentation":{"id":99,"nodeType":"StructuredDocumentation","src":"2177:137:0","text":" @dev Sets buffer length to 0.\n @param buf The buffer to truncate.\n @return The original buffer, for chaining.."},"id":112,"implemented":true,"kind":"function","modifiers":[],"name":"truncate","nameLocation":"2328:8:0","nodeType":"FunctionDefinition","parameters":{"id":103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102,"mutability":"mutable","name":"buf","nameLocation":"2351:3:0","nodeType":"VariableDeclaration","scope":112,"src":"2337:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":101,"nodeType":"UserDefinedTypeName","pathNode":{"id":100,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2337:6:0"},"referencedDeclaration":7,"src":"2337:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"2336:19:0"},"returnParameters":{"id":107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":106,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":112,"src":"2379:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":105,"nodeType":"UserDefinedTypeName","pathNode":{"id":104,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2379:6:0"},"referencedDeclaration":7,"src":"2379:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"2378:15:0"},"scope":421,"src":"2319:198:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":199,"nodeType":"Block","src":"2945:1326:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":127,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"2963:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":128,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"2970:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2970:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2963:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":126,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2955:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2955:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":132,"nodeType":"ExpressionStatement","src":"2955:27:0"},{"assignments":[134],"declarations":[{"constant":false,"id":134,"mutability":"mutable","name":"off","nameLocation":"2998:3:0","nodeType":"VariableDeclaration","scope":199,"src":"2993:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint","nodeType":"ElementaryTypeName","src":"2993:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":138,"initialValue":{"expression":{"expression":{"id":135,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"3004:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"3004:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3004:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2993:25:0"},{"assignments":[140],"declarations":[{"constant":false,"id":140,"mutability":"mutable","name":"newCapacity","nameLocation":"3033:11:0","nodeType":"VariableDeclaration","scope":199,"src":"3028:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":139,"name":"uint","nodeType":"ElementaryTypeName","src":"3028:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":144,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":141,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"3047:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":142,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"3053:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3047:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3028:28:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"newCapacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"3070:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":146,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"3084:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"3084:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3070:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":157,"nodeType":"IfStatement","src":"3066:85:0","trueBody":{"id":156,"nodeType":"Block","src":"3098:53:0","statements":[{"expression":{"arguments":[{"id":150,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"3119:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":151,"name":"newCapacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"3124:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3138:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"3124:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":149,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"3112:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Buffer.buffer memory,uint256) pure"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3112:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":155,"nodeType":"ExpressionStatement","src":"3112:28:0"}]}},{"assignments":[159],"declarations":[{"constant":false,"id":159,"mutability":"mutable","name":"dest","nameLocation":"3166:4:0","nodeType":"VariableDeclaration","scope":199,"src":"3161:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":158,"name":"uint","nodeType":"ElementaryTypeName","src":"3161:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":160,"nodeType":"VariableDeclarationStatement","src":"3161:9:0"},{"assignments":[162],"declarations":[{"constant":false,"id":162,"mutability":"mutable","name":"src","nameLocation":"3185:3:0","nodeType":"VariableDeclaration","scope":199,"src":"3180:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":161,"name":"uint","nodeType":"ElementaryTypeName","src":"3180:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":163,"nodeType":"VariableDeclarationStatement","src":"3180:8:0"},{"AST":{"nodeType":"YulBlock","src":"3207:498:0","statements":[{"nodeType":"YulVariableDeclaration","src":"3270:24:0","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"3290:3:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3284:5:0"},"nodeType":"YulFunctionCall","src":"3284:10:0"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"3274:6:0","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3353:27:0","value":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"3373:6:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3367:5:0"},"nodeType":"YulFunctionCall","src":"3367:13:0"},"variables":[{"name":"buflen","nodeType":"YulTypedName","src":"3357:6:0","type":""}]},{"nodeType":"YulAssignment","src":"3472:33:0","value":{"arguments":[{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"3488:6:0"},{"kind":"number","nodeType":"YulLiteral","src":"3496:2:0","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3484:3:0"},"nodeType":"YulFunctionCall","src":"3484:15:0"},{"name":"off","nodeType":"YulIdentifier","src":"3501:3:0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3480:3:0"},"nodeType":"YulFunctionCall","src":"3480:25:0"},"variableNames":[{"name":"dest","nodeType":"YulIdentifier","src":"3472:4:0"}]},{"body":{"nodeType":"YulBlock","src":"3603:59:0","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"3628:6:0"},{"name":"newCapacity","nodeType":"YulIdentifier","src":"3636:11:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3621:6:0"},"nodeType":"YulFunctionCall","src":"3621:27:0"},"nodeType":"YulExpressionStatement","src":"3621:27:0"}]},"condition":{"arguments":[{"name":"newCapacity","nodeType":"YulIdentifier","src":"3582:11:0"},{"name":"buflen","nodeType":"YulIdentifier","src":"3595:6:0"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3579:2:0"},"nodeType":"YulFunctionCall","src":"3579:23:0"},"nodeType":"YulIf","src":"3576:2:0"},{"nodeType":"YulAssignment","src":"3675:20:0","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"3686:4:0"},{"kind":"number","nodeType":"YulLiteral","src":"3692:2:0","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3682:3:0"},"nodeType":"YulFunctionCall","src":"3682:13:0"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"3675:3:0"}]}]},"evmVersion":"istanbul","externalReferences":[{"declaration":116,"isOffset":false,"isSlot":false,"src":"3290:3:0","valueSize":1},{"declaration":118,"isOffset":false,"isSlot":false,"src":"3686:4:0","valueSize":1},{"declaration":159,"isOffset":false,"isSlot":false,"src":"3472:4:0","valueSize":1},{"declaration":140,"isOffset":false,"isSlot":false,"src":"3582:11:0","valueSize":1},{"declaration":140,"isOffset":false,"isSlot":false,"src":"3636:11:0","valueSize":1},{"declaration":134,"isOffset":false,"isSlot":false,"src":"3501:3:0","valueSize":1},{"declaration":162,"isOffset":false,"isSlot":false,"src":"3675:3:0","valueSize":1}],"id":164,"nodeType":"InlineAssembly","src":"3198:507:0"},{"body":{"id":181,"nodeType":"Block","src":"3794:136:0","statements":[{"AST":{"nodeType":"YulBlock","src":"3817:56:0","statements":[{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"3842:4:0"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3854:3:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3848:5:0"},"nodeType":"YulFunctionCall","src":"3848:10:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3835:6:0"},"nodeType":"YulFunctionCall","src":"3835:24:0"},"nodeType":"YulExpressionStatement","src":"3835:24:0"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":159,"isOffset":false,"isSlot":false,"src":"3842:4:0","valueSize":1},{"declaration":162,"isOffset":false,"isSlot":false,"src":"3854:3:0","valueSize":1}],"id":172,"nodeType":"InlineAssembly","src":"3808:65:0"},{"expression":{"id":175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":173,"name":"dest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"3886:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3894:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3886:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":176,"nodeType":"ExpressionStatement","src":"3886:10:0"},{"expression":{"id":179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":177,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":162,"src":"3910:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3917:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3910:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":180,"nodeType":"ExpressionStatement","src":"3910:9:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":165,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"3772:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3332","id":166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3779:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3772:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":182,"loopExpression":{"expression":{"id":170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":168,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"3783:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3332","id":169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3790:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"3783:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":171,"nodeType":"ExpressionStatement","src":"3783:9:0"},"nodeType":"ForStatement","src":"3765:165:0"},{"id":196,"nodeType":"UncheckedBlock","src":"3972:272:0","statements":[{"assignments":[184],"declarations":[{"constant":false,"id":184,"mutability":"mutable","name":"mask","nameLocation":"4001:4:0","nodeType":"VariableDeclaration","scope":196,"src":"3996:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":183,"name":"uint","nodeType":"ElementaryTypeName","src":"3996:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":194,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4009:3:0","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4017:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":187,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"4022:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4017:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":189,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4016:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4009:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":191,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4008:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4030:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4008:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3996:35:0"},{"AST":{"nodeType":"YulBlock","src":"4054:180:0","statements":[{"nodeType":"YulVariableDeclaration","src":"4072:41:0","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4097:3:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4091:5:0"},"nodeType":"YulFunctionCall","src":"4091:10:0"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"4107:4:0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4103:3:0"},"nodeType":"YulFunctionCall","src":"4103:9:0"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4087:3:0"},"nodeType":"YulFunctionCall","src":"4087:26:0"},"variables":[{"name":"srcpart","nodeType":"YulTypedName","src":"4076:7:0","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4130:38:0","value":{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"4156:4:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4150:5:0"},"nodeType":"YulFunctionCall","src":"4150:11:0"},{"name":"mask","nodeType":"YulIdentifier","src":"4163:4:0"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4146:3:0"},"nodeType":"YulFunctionCall","src":"4146:22:0"},"variables":[{"name":"destpart","nodeType":"YulTypedName","src":"4134:8:0","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"4192:4:0"},{"arguments":[{"name":"destpart","nodeType":"YulIdentifier","src":"4201:8:0"},{"name":"srcpart","nodeType":"YulIdentifier","src":"4211:7:0"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4198:2:0"},"nodeType":"YulFunctionCall","src":"4198:21:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4185:6:0"},"nodeType":"YulFunctionCall","src":"4185:35:0"},"nodeType":"YulExpressionStatement","src":"4185:35:0"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":159,"isOffset":false,"isSlot":false,"src":"4156:4:0","valueSize":1},{"declaration":159,"isOffset":false,"isSlot":false,"src":"4192:4:0","valueSize":1},{"declaration":184,"isOffset":false,"isSlot":false,"src":"4107:4:0","valueSize":1},{"declaration":184,"isOffset":false,"isSlot":false,"src":"4163:4:0","valueSize":1},{"declaration":162,"isOffset":false,"isSlot":false,"src":"4097:3:0","valueSize":1}],"id":195,"nodeType":"InlineAssembly","src":"4045:189:0"}]},{"expression":{"id":197,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"4261:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":125,"id":198,"nodeType":"Return","src":"4254:10:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"2523:316:0","text":" @dev Appends len bytes of a byte string to a buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @param len The number of bytes to copy.\n @return The original buffer, for chaining."},"id":200,"implemented":true,"kind":"function","modifiers":[],"name":"append","nameLocation":"2853:6:0","nodeType":"FunctionDefinition","parameters":{"id":121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":116,"mutability":"mutable","name":"buf","nameLocation":"2874:3:0","nodeType":"VariableDeclaration","scope":200,"src":"2860:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":115,"nodeType":"UserDefinedTypeName","pathNode":{"id":114,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2860:6:0"},"referencedDeclaration":7,"src":"2860:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":118,"mutability":"mutable","name":"data","nameLocation":"2892:4:0","nodeType":"VariableDeclaration","scope":200,"src":"2879:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":117,"name":"bytes","nodeType":"ElementaryTypeName","src":"2879:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":120,"mutability":"mutable","name":"len","nameLocation":"2903:3:0","nodeType":"VariableDeclaration","scope":200,"src":"2898:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119,"name":"uint","nodeType":"ElementaryTypeName","src":"2898:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2859:48:0"},"returnParameters":{"id":125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":200,"src":"2930:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":123,"nodeType":"UserDefinedTypeName","pathNode":{"id":122,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2930:6:0"},"referencedDeclaration":7,"src":"2930:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"2929:15:0"},"scope":421,"src":"2844:1427:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":219,"nodeType":"Block","src":"4631:54:0","statements":[{"expression":{"arguments":[{"id":213,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"4655:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"id":214,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"4660:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":215,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"4666:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4666:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":212,"name":"append","nodeType":"Identifier","overloadedDeclarations":[200,220,326],"referencedDeclaration":200,"src":"4648:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4648:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":211,"id":218,"nodeType":"Return","src":"4641:37:0"}]},"documentation":{"id":201,"nodeType":"StructuredDocumentation","src":"4277:257:0","text":" @dev Appends a byte string to a buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":220,"implemented":true,"kind":"function","modifiers":[],"name":"append","nameLocation":"4548:6:0","nodeType":"FunctionDefinition","parameters":{"id":207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":204,"mutability":"mutable","name":"buf","nameLocation":"4569:3:0","nodeType":"VariableDeclaration","scope":220,"src":"4555:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":203,"nodeType":"UserDefinedTypeName","pathNode":{"id":202,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"4555:6:0"},"referencedDeclaration":7,"src":"4555:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":206,"mutability":"mutable","name":"data","nameLocation":"4587:4:0","nodeType":"VariableDeclaration","scope":220,"src":"4574:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":205,"name":"bytes","nodeType":"ElementaryTypeName","src":"4574:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4554:38:0"},"returnParameters":{"id":211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":220,"src":"4616:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":209,"nodeType":"UserDefinedTypeName","pathNode":{"id":208,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"4616:6:0"},"referencedDeclaration":7,"src":"4616:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"4615:15:0"},"scope":421,"src":"4539:146:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":260,"nodeType":"Block","src":"5037:610:0","statements":[{"assignments":[233],"declarations":[{"constant":false,"id":233,"mutability":"mutable","name":"off","nameLocation":"5052:3:0","nodeType":"VariableDeclaration","scope":260,"src":"5047:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":232,"name":"uint","nodeType":"ElementaryTypeName","src":"5047:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":237,"initialValue":{"expression":{"expression":{"id":234,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"5058:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"5058:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5058:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5047:25:0"},{"assignments":[239],"declarations":[{"constant":false,"id":239,"mutability":"mutable","name":"offPlusOne","nameLocation":"5087:10:0","nodeType":"VariableDeclaration","scope":260,"src":"5082:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":238,"name":"uint","nodeType":"ElementaryTypeName","src":"5082:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":243,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":240,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":233,"src":"5100:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5106:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5100:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5082:25:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":244,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":233,"src":"5121:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":245,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"5128:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"5128:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5121:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":256,"nodeType":"IfStatement","src":"5117:77:0","trueBody":{"id":255,"nodeType":"Block","src":"5142:52:0","statements":[{"expression":{"arguments":[{"id":249,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"5163:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":250,"name":"offPlusOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":239,"src":"5168:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5181:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5168:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":248,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"5156:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Buffer.buffer memory,uint256) pure"}},"id":253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5156:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":254,"nodeType":"ExpressionStatement","src":"5156:27:0"}]}},{"AST":{"nodeType":"YulBlock","src":"5213:407:0","statements":[{"nodeType":"YulVariableDeclaration","src":"5276:24:0","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"5296:3:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5290:5:0"},"nodeType":"YulFunctionCall","src":"5290:10:0"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"5280:6:0","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5383:37:0","value":{"arguments":[{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"5403:6:0"},{"name":"off","nodeType":"YulIdentifier","src":"5411:3:0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5399:3:0"},"nodeType":"YulFunctionCall","src":"5399:16:0"},{"kind":"number","nodeType":"YulLiteral","src":"5417:2:0","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5395:3:0"},"nodeType":"YulFunctionCall","src":"5395:25:0"},"variables":[{"name":"dest","nodeType":"YulTypedName","src":"5387:4:0","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"5441:4:0"},{"name":"data","nodeType":"YulIdentifier","src":"5447:4:0"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"5433:7:0"},"nodeType":"YulFunctionCall","src":"5433:19:0"},"nodeType":"YulExpressionStatement","src":"5433:19:0"},{"body":{"nodeType":"YulBlock","src":"5552:58:0","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"5577:6:0"},{"name":"offPlusOne","nodeType":"YulIdentifier","src":"5585:10:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5570:6:0"},"nodeType":"YulFunctionCall","src":"5570:26:0"},"nodeType":"YulExpressionStatement","src":"5570:26:0"}]},"condition":{"arguments":[{"name":"offPlusOne","nodeType":"YulIdentifier","src":"5525:10:0"},{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"5543:6:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5537:5:0"},"nodeType":"YulFunctionCall","src":"5537:13:0"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5522:2:0"},"nodeType":"YulFunctionCall","src":"5522:29:0"},"nodeType":"YulIf","src":"5519:2:0"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":224,"isOffset":false,"isSlot":false,"src":"5296:3:0","valueSize":1},{"declaration":226,"isOffset":false,"isSlot":false,"src":"5447:4:0","valueSize":1},{"declaration":233,"isOffset":false,"isSlot":false,"src":"5411:3:0","valueSize":1},{"declaration":239,"isOffset":false,"isSlot":false,"src":"5525:10:0","valueSize":1},{"declaration":239,"isOffset":false,"isSlot":false,"src":"5585:10:0","valueSize":1}],"id":257,"nodeType":"InlineAssembly","src":"5204:416:0"},{"expression":{"id":258,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"5637:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":231,"id":259,"nodeType":"Return","src":"5630:10:0"}]},"documentation":{"id":221,"nodeType":"StructuredDocumentation","src":"4691:252:0","text":" @dev Appends a byte to the buffer. Resizes if doing so would exceed the\n      capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":261,"implemented":true,"kind":"function","modifiers":[],"name":"appendUint8","nameLocation":"4957:11:0","nodeType":"FunctionDefinition","parameters":{"id":227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":224,"mutability":"mutable","name":"buf","nameLocation":"4983:3:0","nodeType":"VariableDeclaration","scope":261,"src":"4969:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":223,"nodeType":"UserDefinedTypeName","pathNode":{"id":222,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"4969:6:0"},"referencedDeclaration":7,"src":"4969:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":226,"mutability":"mutable","name":"data","nameLocation":"4994:4:0","nodeType":"VariableDeclaration","scope":261,"src":"4988:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":225,"name":"uint8","nodeType":"ElementaryTypeName","src":"4988:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4968:31:0"},"returnParameters":{"id":231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"5022:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":229,"nodeType":"UserDefinedTypeName","pathNode":{"id":228,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"5022:6:0"},"referencedDeclaration":7,"src":"5022:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"5021:15:0"},"scope":421,"src":"4948:699:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":325,"nodeType":"Block","src":"6079:854:0","statements":[{"assignments":[276],"declarations":[{"constant":false,"id":276,"mutability":"mutable","name":"off","nameLocation":"6094:3:0","nodeType":"VariableDeclaration","scope":325,"src":"6089:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":275,"name":"uint","nodeType":"ElementaryTypeName","src":"6089:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":280,"initialValue":{"expression":{"expression":{"id":277,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":265,"src":"6100:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"6100:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6089:25:0"},{"assignments":[282],"declarations":[{"constant":false,"id":282,"mutability":"mutable","name":"newCapacity","nameLocation":"6129:11:0","nodeType":"VariableDeclaration","scope":325,"src":"6124:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":281,"name":"uint","nodeType":"ElementaryTypeName","src":"6124:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":286,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":283,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":269,"src":"6143:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":284,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"6149:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6143:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6124:28:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":287,"name":"newCapacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":282,"src":"6166:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":288,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":265,"src":"6180:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"6180:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6166:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":299,"nodeType":"IfStatement","src":"6162:85:0","trueBody":{"id":298,"nodeType":"Block","src":"6194:53:0","statements":[{"expression":{"arguments":[{"id":292,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":265,"src":"6215:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":293,"name":"newCapacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":282,"src":"6220:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6234:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"6220:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":291,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"6208:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Buffer.buffer memory,uint256) pure"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6208:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"6208:28:0"}]}},{"id":322,"nodeType":"UncheckedBlock","src":"6257:650:0","statements":[{"assignments":[301],"declarations":[{"constant":false,"id":301,"mutability":"mutable","name":"mask","nameLocation":"6286:4:0","nodeType":"VariableDeclaration","scope":322,"src":"6281:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":300,"name":"uint","nodeType":"ElementaryTypeName","src":"6281:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":308,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6294:3:0","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":303,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":269,"src":"6301:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6294:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":305,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6293:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6308:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6293:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6281:28:0"},{"expression":{"id":319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":309,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":267,"src":"6355:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":310,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":267,"src":"6362:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"38","id":311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6371:1:0","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6376:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":313,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":269,"src":"6381:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6376:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":315,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6375:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6371:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":317,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6370:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6362:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6355:31:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":320,"nodeType":"ExpressionStatement","src":"6355:31:0"},{"AST":{"nodeType":"YulBlock","src":"6409:488:0","statements":[{"nodeType":"YulVariableDeclaration","src":"6480:24:0","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"6500:3:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6494:5:0"},"nodeType":"YulFunctionCall","src":"6494:10:0"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"6484:6:0","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6603:36:0","value":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"6619:6:0"},{"name":"newCapacity","nodeType":"YulIdentifier","src":"6627:11:0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6615:3:0"},"nodeType":"YulFunctionCall","src":"6615:24:0"},"variables":[{"name":"dest","nodeType":"YulTypedName","src":"6607:4:0","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"6663:4:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"6682:4:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6676:5:0"},"nodeType":"YulFunctionCall","src":"6676:11:0"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"6693:4:0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6689:3:0"},"nodeType":"YulFunctionCall","src":"6689:9:0"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6672:3:0"},"nodeType":"YulFunctionCall","src":"6672:27:0"},{"name":"data","nodeType":"YulIdentifier","src":"6701:4:0"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6669:2:0"},"nodeType":"YulFunctionCall","src":"6669:37:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6656:6:0"},"nodeType":"YulFunctionCall","src":"6656:51:0"},"nodeType":"YulExpressionStatement","src":"6656:51:0"},{"body":{"nodeType":"YulBlock","src":"6816:67:0","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"6845:6:0"},{"name":"newCapacity","nodeType":"YulIdentifier","src":"6853:11:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6838:6:0"},"nodeType":"YulFunctionCall","src":"6838:27:0"},"nodeType":"YulExpressionStatement","src":"6838:27:0"}]},"condition":{"arguments":[{"name":"newCapacity","nodeType":"YulIdentifier","src":"6788:11:0"},{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"6807:6:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6801:5:0"},"nodeType":"YulFunctionCall","src":"6801:13:0"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6785:2:0"},"nodeType":"YulFunctionCall","src":"6785:30:0"},"nodeType":"YulIf","src":"6782:2:0"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":265,"isOffset":false,"isSlot":false,"src":"6500:3:0","valueSize":1},{"declaration":267,"isOffset":false,"isSlot":false,"src":"6701:4:0","valueSize":1},{"declaration":301,"isOffset":false,"isSlot":false,"src":"6693:4:0","valueSize":1},{"declaration":282,"isOffset":false,"isSlot":false,"src":"6627:11:0","valueSize":1},{"declaration":282,"isOffset":false,"isSlot":false,"src":"6788:11:0","valueSize":1},{"declaration":282,"isOffset":false,"isSlot":false,"src":"6853:11:0","valueSize":1}],"id":321,"nodeType":"InlineAssembly","src":"6400:497:0"}]},{"expression":{"id":323,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":265,"src":"6923:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":274,"id":324,"nodeType":"Return","src":"6916:10:0"}]},"documentation":{"id":262,"nodeType":"StructuredDocumentation","src":"5653:326:0","text":" @dev Appends len bytes of bytes32 to a buffer. Resizes if doing so would\n      exceed the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @param len The number of bytes to write (left-aligned).\n @return The original buffer, for chaining."},"id":326,"implemented":true,"kind":"function","modifiers":[],"name":"append","nameLocation":"5993:6:0","nodeType":"FunctionDefinition","parameters":{"id":270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":265,"mutability":"mutable","name":"buf","nameLocation":"6014:3:0","nodeType":"VariableDeclaration","scope":326,"src":"6000:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":264,"nodeType":"UserDefinedTypeName","pathNode":{"id":263,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"6000:6:0"},"referencedDeclaration":7,"src":"6000:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":267,"mutability":"mutable","name":"data","nameLocation":"6027:4:0","nodeType":"VariableDeclaration","scope":326,"src":"6019:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":266,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6019:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":269,"mutability":"mutable","name":"len","nameLocation":"6038:3:0","nodeType":"VariableDeclaration","scope":326,"src":"6033:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":268,"name":"uint","nodeType":"ElementaryTypeName","src":"6033:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5999:43:0"},"returnParameters":{"id":274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":326,"src":"6064:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":272,"nodeType":"UserDefinedTypeName","pathNode":{"id":271,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"6064:6:0"},"referencedDeclaration":7,"src":"6064:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"6063:15:0"},"scope":421,"src":"5984:949:0","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":347,"nodeType":"Block","src":"7294:54:0","statements":[{"expression":{"arguments":[{"id":339,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"7318:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"arguments":[{"id":342,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"7331:4:0","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7323:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7323:7:0","typeDescriptions":{}}},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7323:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3230","id":344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7338:2:0","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"id":338,"name":"append","nodeType":"Identifier","overloadedDeclarations":[200,220,326],"referencedDeclaration":326,"src":"7311:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes32,uint256) pure returns (struct Buffer.buffer memory)"}},"id":345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7311:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":337,"id":346,"nodeType":"Return","src":"7304:37:0"}]},"documentation":{"id":327,"nodeType":"StructuredDocumentation","src":"6939:256:0","text":" @dev Appends a bytes20 to the buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chhaining."},"id":348,"implemented":true,"kind":"function","modifiers":[],"name":"appendBytes20","nameLocation":"7209:13:0","nodeType":"FunctionDefinition","parameters":{"id":333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":330,"mutability":"mutable","name":"buf","nameLocation":"7237:3:0","nodeType":"VariableDeclaration","scope":348,"src":"7223:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":329,"nodeType":"UserDefinedTypeName","pathNode":{"id":328,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7223:6:0"},"referencedDeclaration":7,"src":"7223:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":332,"mutability":"mutable","name":"data","nameLocation":"7250:4:0","nodeType":"VariableDeclaration","scope":348,"src":"7242:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":331,"name":"bytes20","nodeType":"ElementaryTypeName","src":"7242:7:0","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"7222:33:0"},"returnParameters":{"id":337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":336,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":348,"src":"7279:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":335,"nodeType":"UserDefinedTypeName","pathNode":{"id":334,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7279:6:0"},"referencedDeclaration":7,"src":"7279:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"7278:15:0"},"scope":421,"src":"7200:148:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":366,"nodeType":"Block","src":"7708:45:0","statements":[{"expression":{"arguments":[{"id":361,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"7732:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"id":362,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":354,"src":"7737:4:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3332","id":363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7743:2:0","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"id":360,"name":"append","nodeType":"Identifier","overloadedDeclarations":[200,220,326],"referencedDeclaration":326,"src":"7725:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes32,uint256) pure returns (struct Buffer.buffer memory)"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7725:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":359,"id":365,"nodeType":"Return","src":"7718:28:0"}]},"documentation":{"id":349,"nodeType":"StructuredDocumentation","src":"7354:255:0","text":" @dev Appends a bytes32 to the buffer. Resizes if doing so would exceed\n      the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @return The original buffer, for chaining."},"id":367,"implemented":true,"kind":"function","modifiers":[],"name":"appendBytes32","nameLocation":"7623:13:0","nodeType":"FunctionDefinition","parameters":{"id":355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":352,"mutability":"mutable","name":"buf","nameLocation":"7651:3:0","nodeType":"VariableDeclaration","scope":367,"src":"7637:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":351,"nodeType":"UserDefinedTypeName","pathNode":{"id":350,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7637:6:0"},"referencedDeclaration":7,"src":"7637:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":354,"mutability":"mutable","name":"data","nameLocation":"7664:4:0","nodeType":"VariableDeclaration","scope":367,"src":"7656:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7656:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7636:33:0"},"returnParameters":{"id":359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":367,"src":"7693:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":357,"nodeType":"UserDefinedTypeName","pathNode":{"id":356,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"7693:6:0"},"referencedDeclaration":7,"src":"7693:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"7692:15:0"},"scope":421,"src":"7614:139:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":419,"nodeType":"Block","src":"8179:777:0","statements":[{"assignments":[382],"declarations":[{"constant":false,"id":382,"mutability":"mutable","name":"off","nameLocation":"8194:3:0","nodeType":"VariableDeclaration","scope":419,"src":"8189:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":381,"name":"uint","nodeType":"ElementaryTypeName","src":"8189:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":386,"initialValue":{"expression":{"expression":{"id":383,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":371,"src":"8200:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"8200:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8200:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8189:25:0"},{"assignments":[388],"declarations":[{"constant":false,"id":388,"mutability":"mutable","name":"newCapacity","nameLocation":"8229:11:0","nodeType":"VariableDeclaration","scope":419,"src":"8224:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":387,"name":"uint","nodeType":"ElementaryTypeName","src":"8224:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":392,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":389,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"8243:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":390,"name":"off","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":382,"src":"8249:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8243:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8224:28:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":393,"name":"newCapacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"8266:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":394,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":371,"src":"8280:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"8280:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8266:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":405,"nodeType":"IfStatement","src":"8262:85:0","trueBody":{"id":404,"nodeType":"Block","src":"8294:53:0","statements":[{"expression":{"arguments":[{"id":398,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":371,"src":"8315:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":399,"name":"newCapacity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"8320:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8334:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"8320:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":397,"name":"resize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"8308:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (struct Buffer.buffer memory,uint256) pure"}},"id":402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8308:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":403,"nodeType":"ExpressionStatement","src":"8308:28:0"}]}},{"id":416,"nodeType":"UncheckedBlock","src":"8357:573:0","statements":[{"assignments":[407],"declarations":[{"constant":false,"id":407,"mutability":"mutable","name":"mask","nameLocation":"8386:4:0","nodeType":"VariableDeclaration","scope":416,"src":"8381:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":406,"name":"uint","nodeType":"ElementaryTypeName","src":"8381:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":414,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8394:3:0","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":409,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"8401:3:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8394:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":411,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8393:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8408:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8393:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8381:28:0"},{"AST":{"nodeType":"YulBlock","src":"8432:488:0","statements":[{"nodeType":"YulVariableDeclaration","src":"8503:24:0","value":{"arguments":[{"name":"buf","nodeType":"YulIdentifier","src":"8523:3:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8517:5:0"},"nodeType":"YulFunctionCall","src":"8517:10:0"},"variables":[{"name":"bufptr","nodeType":"YulTypedName","src":"8507:6:0","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8626:36:0","value":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"8642:6:0"},{"name":"newCapacity","nodeType":"YulIdentifier","src":"8650:11:0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8638:3:0"},"nodeType":"YulFunctionCall","src":"8638:24:0"},"variables":[{"name":"dest","nodeType":"YulTypedName","src":"8630:4:0","type":""}]},{"expression":{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"8686:4:0"},{"arguments":[{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"8705:4:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8699:5:0"},"nodeType":"YulFunctionCall","src":"8699:11:0"},{"arguments":[{"name":"mask","nodeType":"YulIdentifier","src":"8716:4:0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8712:3:0"},"nodeType":"YulFunctionCall","src":"8712:9:0"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8695:3:0"},"nodeType":"YulFunctionCall","src":"8695:27:0"},{"name":"data","nodeType":"YulIdentifier","src":"8724:4:0"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"8692:2:0"},"nodeType":"YulFunctionCall","src":"8692:37:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8679:6:0"},"nodeType":"YulFunctionCall","src":"8679:51:0"},"nodeType":"YulExpressionStatement","src":"8679:51:0"},{"body":{"nodeType":"YulBlock","src":"8839:67:0","statements":[{"expression":{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"8868:6:0"},{"name":"newCapacity","nodeType":"YulIdentifier","src":"8876:11:0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8861:6:0"},"nodeType":"YulFunctionCall","src":"8861:27:0"},"nodeType":"YulExpressionStatement","src":"8861:27:0"}]},"condition":{"arguments":[{"name":"newCapacity","nodeType":"YulIdentifier","src":"8811:11:0"},{"arguments":[{"name":"bufptr","nodeType":"YulIdentifier","src":"8830:6:0"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8824:5:0"},"nodeType":"YulFunctionCall","src":"8824:13:0"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8808:2:0"},"nodeType":"YulFunctionCall","src":"8808:30:0"},"nodeType":"YulIf","src":"8805:2:0"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":371,"isOffset":false,"isSlot":false,"src":"8523:3:0","valueSize":1},{"declaration":373,"isOffset":false,"isSlot":false,"src":"8724:4:0","valueSize":1},{"declaration":407,"isOffset":false,"isSlot":false,"src":"8716:4:0","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"8650:11:0","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"8811:11:0","valueSize":1},{"declaration":388,"isOffset":false,"isSlot":false,"src":"8876:11:0","valueSize":1}],"id":415,"nodeType":"InlineAssembly","src":"8423:497:0"}]},{"expression":{"id":417,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":371,"src":"8946:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"functionReturnParameters":380,"id":418,"nodeType":"Return","src":"8939:10:0"}]},"documentation":{"id":368,"nodeType":"StructuredDocumentation","src":"7759:319:0","text":" @dev Appends a byte to the end of the buffer. Resizes if doing so would\n      exceed the capacity of the buffer.\n @param buf The buffer to append to.\n @param data The data to append.\n @param len The number of bytes to write (right-aligned).\n @return The original buffer."},"id":420,"implemented":true,"kind":"function","modifiers":[],"name":"appendInt","nameLocation":"8092:9:0","nodeType":"FunctionDefinition","parameters":{"id":376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":371,"mutability":"mutable","name":"buf","nameLocation":"8116:3:0","nodeType":"VariableDeclaration","scope":420,"src":"8102:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":370,"nodeType":"UserDefinedTypeName","pathNode":{"id":369,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"8102:6:0"},"referencedDeclaration":7,"src":"8102:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"},{"constant":false,"id":373,"mutability":"mutable","name":"data","nameLocation":"8126:4:0","nodeType":"VariableDeclaration","scope":420,"src":"8121:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":372,"name":"uint","nodeType":"ElementaryTypeName","src":"8121:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":375,"mutability":"mutable","name":"len","nameLocation":"8137:3:0","nodeType":"VariableDeclaration","scope":420,"src":"8132:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":374,"name":"uint","nodeType":"ElementaryTypeName","src":"8132:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8101:40:0"},"returnParameters":{"id":380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":379,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":420,"src":"8164:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":378,"nodeType":"UserDefinedTypeName","pathNode":{"id":377,"name":"buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"8164:6:0"},"referencedDeclaration":7,"src":"8164:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"src":"8163:15:0"},"scope":421,"src":"8083:873:0","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":422,"src":"445:8513:0","usedErrors":[]}],"src":"41:8918:0"},"id":0},"test/TestBuffer.sol":{"ast":{"absolutePath":"test/TestBuffer.sol","exportedSymbols":{"Buffer":[421],"TestBuffer":[990]},"id":991,"license":"BSD-2-Clause","nodeType":"SourceUnit","nodes":[{"id":423,"literals":["solidity",">=","0.8",".4"],"nodeType":"PragmaDirective","src":"41:24:1"},{"absolutePath":"contracts/Buffer.sol","file":"./../contracts/Buffer.sol","id":424,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":991,"sourceUnit":422,"src":"67:35:1","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":990,"linearizedBaseContracts":[990],"name":"TestBuffer","nameLocation":"113:10:1","nodeType":"ContractDefinition","nodes":[{"id":428,"libraryName":{"id":425,"name":"Buffer","nodeType":"IdentifierPath","referencedDeclaration":421,"src":"136:6:1"},"nodeType":"UsingForDirective","src":"130:31:1","typeName":{"id":427,"nodeType":"UserDefinedTypeName","pathNode":{"id":426,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"147:13:1"},"referencedDeclaration":7,"src":"147:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}}},{"body":{"id":453,"nodeType":"Block","src":"214:92:1","statements":[{"assignments":[435],"declarations":[{"constant":false,"id":435,"mutability":"mutable","name":"buf","nameLocation":"245:3:1","nodeType":"VariableDeclaration","scope":453,"src":"224:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":434,"nodeType":"UserDefinedTypeName","pathNode":{"id":433,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"224:13:1"},"referencedDeclaration":7,"src":"224:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":436,"nodeType":"VariableDeclarationStatement","src":"224:24:1"},{"expression":{"arguments":[{"hexValue":"323536","id":440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267:3:1","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}],"expression":{"id":437,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"258:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"258:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"258:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":442,"nodeType":"ExpressionStatement","src":"258:13:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"id":450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1","typeString":"int_const 1157...(70 digits omitted)...9936"},"id":448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"290:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"323536","id":447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"293:3:1","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"290:6:1","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1","typeString":"int_const 1157...(70 digits omitted)...9936"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"297:1:1","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"290:8:1","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"}],"expression":{"id":443,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"281:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"281:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"281:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":452,"nodeType":"ExpressionStatement","src":"281:18:1"}]},"functionSelector":"40d26e2b","id":454,"implemented":true,"kind":"function","modifiers":[],"name":"checkBufferInitOverflow","nameLocation":"176:23:1","nodeType":"FunctionDefinition","parameters":{"id":429,"nodeType":"ParameterList","parameters":[],"src":"199:2:1"},"returnParameters":{"id":430,"nodeType":"ParameterList","parameters":[],"src":"214:0:1"},"scope":990,"src":"167:139:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":508,"nodeType":"Block","src":"352:321:1","statements":[{"assignments":[461],"declarations":[{"constant":false,"id":461,"mutability":"mutable","name":"buf","nameLocation":"383:3:1","nodeType":"VariableDeclaration","scope":508,"src":"362:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":460,"nodeType":"UserDefinedTypeName","pathNode":{"id":459,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"362:13:1"},"referencedDeclaration":7,"src":"362:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":462,"nodeType":"VariableDeclarationStatement","src":"362:24:1"},{"expression":{"arguments":[{"hexValue":"323536","id":466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"405:3:1","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}],"expression":{"id":463,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"396:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"396:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"396:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":468,"nodeType":"ExpressionStatement","src":"396:13:1"},{"expression":{"arguments":[{"hexValue":"48656c6c6f","id":472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"430:7:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2","typeString":"literal_string \"Hello\""},"value":"Hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2","typeString":"literal_string \"Hello\""}],"expression":{"id":469,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"419:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":471,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"419:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"419:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":474,"nodeType":"ExpressionStatement","src":"419:19:1"},{"expression":{"arguments":[{"hexValue":"2c20","id":478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"459:4:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_bca0729fb6730dfd2fb395d597640354b22fad86e25c1680a49df80925b5fa0d","typeString":"literal_string \", \""},"value":", "}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bca0729fb6730dfd2fb395d597640354b22fad86e25c1680a49df80925b5fa0d","typeString":"literal_string \", \""}],"expression":{"id":475,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"448:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"448:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"448:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":480,"nodeType":"ExpressionStatement","src":"448:16:1"},{"expression":{"arguments":[{"hexValue":"776f726c6421","id":484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"485:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c597b8b015d375458b636c501faca47931cdc0a871c590984debc089c526945d","typeString":"literal_string \"world!\""},"value":"world!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c597b8b015d375458b636c501faca47931cdc0a871c590984debc089c526945d","typeString":"literal_string \"world!\""}],"expression":{"id":481,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"474:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"474:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"474:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":486,"nodeType":"ExpressionStatement","src":"474:20:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":493,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"557:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"557:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"550:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":491,"name":"string","nodeType":"ElementaryTypeName","src":"550:6:1","typeDescriptions":{}}},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"550:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"533:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"533:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"533:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":488,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"523:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"523:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"48656c6c6f2c20776f726c6421","id":501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"598:15:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","typeString":"literal_string \"Hello, world!\""},"value":"Hello, world!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","typeString":"literal_string \"Hello, world!\""}],"expression":{"id":499,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"581:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"581:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"581:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":498,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"571:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"571:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"523:92:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"627:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":487,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"504:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"504:162:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":507,"nodeType":"ExpressionStatement","src":"504:162:1"}]},"functionSelector":"55be6b3c","id":509,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferAppend","nameLocation":"321:16:1","nodeType":"FunctionDefinition","parameters":{"id":455,"nodeType":"ParameterList","parameters":[],"src":"337:2:1"},"returnParameters":{"id":456,"nodeType":"ParameterList","parameters":[],"src":"352:0:1"},"scope":990,"src":"312:361:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":564,"nodeType":"Block","src":"724:335:1","statements":[{"assignments":[516],"declarations":[{"constant":false,"id":516,"mutability":"mutable","name":"buf","nameLocation":"755:3:1","nodeType":"VariableDeclaration","scope":564,"src":"734:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":515,"nodeType":"UserDefinedTypeName","pathNode":{"id":514,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"734:13:1"},"referencedDeclaration":7,"src":"734:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":517,"nodeType":"VariableDeclarationStatement","src":"734:24:1"},{"expression":{"arguments":[{"id":521,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"780:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"hexValue":"323536","id":522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"785:3:1","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}],"expression":{"id":518,"name":"Buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"768:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Buffer_$421_$","typeString":"type(library Buffer)"}},"id":520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"768:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"768:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":524,"nodeType":"ExpressionStatement","src":"768:21:1"},{"expression":{"arguments":[{"hexValue":"48656c6c6f2c","id":528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"810:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_219c5bacd6e07a9be0cf06b9fcfceddc6b592f038a27ef33c7f0f4060dba844b","typeString":"literal_string \"Hello,\""},"value":"Hello,"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_219c5bacd6e07a9be0cf06b9fcfceddc6b592f038a27ef33c7f0f4060dba844b","typeString":"literal_string \"Hello,\""}],"expression":{"id":525,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"799:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"799:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"799:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":530,"nodeType":"ExpressionStatement","src":"799:20:1"},{"expression":{"arguments":[{"hexValue":"30783230","id":534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"845:4:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":531,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"829:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":261,"src":"829:15:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint8) pure returns (struct Buffer.buffer memory)"}},"id":535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"829:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":536,"nodeType":"ExpressionStatement","src":"829:21:1"},{"expression":{"arguments":[{"hexValue":"776f726c6421","id":540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"871:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c597b8b015d375458b636c501faca47931cdc0a871c590984debc089c526945d","typeString":"literal_string \"world!\""},"value":"world!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c597b8b015d375458b636c501faca47931cdc0a871c590984debc089c526945d","typeString":"literal_string \"world!\""}],"expression":{"id":537,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"860:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"860:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"860:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":542,"nodeType":"ExpressionStatement","src":"860:20:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":549,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"943:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"943:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"936:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":547,"name":"string","nodeType":"ElementaryTypeName","src":"936:6:1","typeDescriptions":{}}},"id":551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"936:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":545,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"919:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"919:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"919:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":544,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"909:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"909:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"48656c6c6f2c20776f726c6421","id":557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"984:15:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","typeString":"literal_string \"Hello, world!\""},"value":"Hello, world!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","typeString":"literal_string \"Hello, world!\""}],"expression":{"id":555,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"967:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"967:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"967:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":554,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"957:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"957:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"909:92:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1013:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":543,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"890:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"890:162:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":563,"nodeType":"ExpressionStatement","src":"890:162:1"}]},"functionSelector":"5532aa8b","id":565,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferAppendUint8","nameLocation":"688:21:1","nodeType":"FunctionDefinition","parameters":{"id":510,"nodeType":"ParameterList","parameters":[],"src":"709:2:1"},"returnParameters":{"id":511,"nodeType":"ParameterList","parameters":[],"src":"724:0:1"},"scope":990,"src":"679:380:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":631,"nodeType":"Block","src":"1116:498:1","statements":[{"assignments":[572],"declarations":[{"constant":false,"id":572,"mutability":"mutable","name":"buf","nameLocation":"1147:3:1","nodeType":"VariableDeclaration","scope":631,"src":"1126:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":571,"nodeType":"UserDefinedTypeName","pathNode":{"id":570,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"1126:13:1"},"referencedDeclaration":7,"src":"1126:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":573,"nodeType":"VariableDeclarationStatement","src":"1126:24:1"},{"expression":{"arguments":[{"id":577,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"1172:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"hexValue":"3332","id":578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1177:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":574,"name":"Buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"1160:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Buffer_$421_$","typeString":"type(library Buffer)"}},"id":576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"1160:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1160:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":580,"nodeType":"ExpressionStatement","src":"1160:20:1"},{"expression":{"arguments":[{"hexValue":"3031323334353637383930313233343536373839303132333435363738393031","id":584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1201:34:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""},"value":"01234567890123456789012345678901"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""}],"expression":{"id":581,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"1190:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"1190:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1190:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":586,"nodeType":"ExpressionStatement","src":"1190:46:1"},{"expression":{"arguments":[{"hexValue":"30783230","id":590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1262:4:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":587,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"1246:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendUint8","nodeType":"MemberAccess","referencedDeclaration":261,"src":"1246:15:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint8_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint8) pure returns (struct Buffer.buffer memory)"}},"id":591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1246:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":592,"nodeType":"ExpressionStatement","src":"1246:21:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":594,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"1285:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"1285:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3936","id":596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1301:2:1","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"1285:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45787065637465642062756666657220636170616369747920746f206265203936","id":598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1305:35:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","typeString":"literal_string \"Expected buffer capacity to be 96\""},"value":"Expected buffer capacity to be 96"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","typeString":"literal_string \"Expected buffer capacity to be 96\""}],"id":593,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1277:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1277:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":600,"nodeType":"ExpressionStatement","src":"1277:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":602,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"1359:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"1359:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1359:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3333","id":605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1377:2:1","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"33"},"src":"1359:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"457870656374656420627566666572206c656e67746820746f206265203333","id":607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1381:33:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a","typeString":"literal_string \"Expected buffer length to be 33\""},"value":"Expected buffer length to be 33"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a","typeString":"literal_string \"Expected buffer length to be 33\""}],"id":601,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1351:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1351:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":609,"nodeType":"ExpressionStatement","src":"1351:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":616,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"1478:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"1478:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1471:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":614,"name":"string","nodeType":"ElementaryTypeName","src":"1471:6:1","typeDescriptions":{}}},"id":618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1471:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":612,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1454:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1454:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1454:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":611,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1444:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1444:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"303132333435363738393031323334353637383930313233343536373839303120","id":624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1519:35:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3","typeString":"literal_string \"01234567890123456789012345678901 \""},"value":"01234567890123456789012345678901 "}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3","typeString":"literal_string \"01234567890123456789012345678901 \""}],"expression":{"id":622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1502:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1502:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1502:53:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":621,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1492:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1492:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1444:112:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1568:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":610,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1425:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1425:182:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":630,"nodeType":"ExpressionStatement","src":"1425:182:1"}]},"functionSelector":"975977e8","id":632,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferResizeAppendUint8","nameLocation":"1074:27:1","nodeType":"FunctionDefinition","parameters":{"id":566,"nodeType":"ParameterList","parameters":[],"src":"1101:2:1"},"returnParameters":{"id":567,"nodeType":"ParameterList","parameters":[],"src":"1116:0:1"},"scope":990,"src":"1065:549:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":698,"nodeType":"Block","src":"1671:474:1","statements":[{"assignments":[639],"declarations":[{"constant":false,"id":639,"mutability":"mutable","name":"buf","nameLocation":"1700:3:1","nodeType":"VariableDeclaration","scope":698,"src":"1679:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":638,"nodeType":"UserDefinedTypeName","pathNode":{"id":637,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"1679:13:1"},"referencedDeclaration":7,"src":"1679:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":640,"nodeType":"VariableDeclarationStatement","src":"1679:24:1"},{"expression":{"arguments":[{"id":644,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"1723:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"hexValue":"3332","id":645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1728:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":641,"name":"Buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"1711:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Buffer_$421_$","typeString":"type(library Buffer)"}},"id":643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"1711:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1711:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":647,"nodeType":"ExpressionStatement","src":"1711:20:1"},{"expression":{"arguments":[{"hexValue":"3031323334353637383930313233343536373839303132333435363738393031","id":651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1750:34:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""},"value":"01234567890123456789012345678901"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""}],"expression":{"id":648,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"1739:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"1739:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1739:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":653,"nodeType":"ExpressionStatement","src":"1739:46:1"},{"expression":{"arguments":[{"hexValue":"3233","id":657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1804:4:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_1572b593c53d839d80004aa4b8c51211864104f06ace9e22be9c4365b50655ea","typeString":"literal_string \"23\""},"value":"23"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1572b593c53d839d80004aa4b8c51211864104f06ace9e22be9c4365b50655ea","typeString":"literal_string \"23\""}],"expression":{"id":654,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"1793:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"1793:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1793:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":659,"nodeType":"ExpressionStatement","src":"1793:16:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":661,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"1825:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":662,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"1825:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3936","id":663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1841:2:1","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"1825:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45787065637465642062756666657220636170616369747920746f206265203936","id":665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1845:35:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","typeString":"literal_string \"Expected buffer capacity to be 96\""},"value":"Expected buffer capacity to be 96"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","typeString":"literal_string \"Expected buffer capacity to be 96\""}],"id":660,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1817:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1817:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":667,"nodeType":"ExpressionStatement","src":"1817:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":669,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"1897:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"1897:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1897:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3334","id":672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1915:2:1","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"34"},"src":"1897:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"457870656374656420627566666572206c656e67746820746f206265203333","id":674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1919:33:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a","typeString":"literal_string \"Expected buffer length to be 33\""},"value":"Expected buffer length to be 33"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a","typeString":"literal_string \"Expected buffer length to be 33\""}],"id":668,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1889:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1889:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":676,"nodeType":"ExpressionStatement","src":"1889:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":683,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"2012:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"2012:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2005:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":681,"name":"string","nodeType":"ElementaryTypeName","src":"2005:6:1","typeDescriptions":{}}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2005:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":679,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1988:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1988:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1988:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":678,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1978:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1978:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30313233343536373839303132333435363738393031323334353637383930313233","id":691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2053:36:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1","typeString":"literal_string \"0123456789012345678901234567890123\""},"value":"0123456789012345678901234567890123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1","typeString":"literal_string \"0123456789012345678901234567890123\""}],"expression":{"id":689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2036:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2036:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2036:54:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":688,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2026:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2026:65:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1978:113:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2101:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":677,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1961:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1961:177:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":697,"nodeType":"ExpressionStatement","src":"1961:177:1"}]},"functionSelector":"2d6fc67f","id":699,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferResizeAppendBytes","nameLocation":"1629:27:1","nodeType":"FunctionDefinition","parameters":{"id":633,"nodeType":"ParameterList","parameters":[],"src":"1656:2:1"},"returnParameters":{"id":634,"nodeType":"ParameterList","parameters":[],"src":"1671:0:1"},"scope":990,"src":"1620:525:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":765,"nodeType":"Block","src":"2206:600:1","statements":[{"assignments":[706],"declarations":[{"constant":false,"id":706,"mutability":"mutable","name":"buf","nameLocation":"2235:3:1","nodeType":"VariableDeclaration","scope":765,"src":"2214:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":705,"nodeType":"UserDefinedTypeName","pathNode":{"id":704,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2214:13:1"},"referencedDeclaration":7,"src":"2214:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":707,"nodeType":"VariableDeclarationStatement","src":"2214:24:1"},{"expression":{"arguments":[{"id":711,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"2258:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"hexValue":"3332","id":712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2263:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":708,"name":"Buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"2246:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Buffer_$421_$","typeString":"type(library Buffer)"}},"id":710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"2246:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2246:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":714,"nodeType":"ExpressionStatement","src":"2246:20:1"},{"expression":{"arguments":[{"hexValue":"3031323334353637383930313233343536373839303132333435363738393031","id":718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2285:34:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""},"value":"01234567890123456789012345678901"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""}],"expression":{"id":715,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"2274:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":717,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"2274:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2274:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":720,"nodeType":"ExpressionStatement","src":"2274:46:1"},{"expression":{"arguments":[{"hexValue":"30313233343536373839303132333435363738393031323334353637383930313031323334353637383930313233343536373839303132333435363738393031","id":724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2339:66:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_65026a6ba20e046c0c4fb05d86a9e003c0e22f4c272d857f57a72befe5d2a268","typeString":"literal_string \"0123456789012345678901234567890101234567890123456789012345678901\""},"value":"0123456789012345678901234567890101234567890123456789012345678901"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65026a6ba20e046c0c4fb05d86a9e003c0e22f4c272d857f57a72befe5d2a268","typeString":"literal_string \"0123456789012345678901234567890101234567890123456789012345678901\""}],"expression":{"id":721,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"2328:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"2328:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2328:78:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":726,"nodeType":"ExpressionStatement","src":"2328:78:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":728,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"2422:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"2422:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"313932","id":730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2438:3:1","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"src":"2422:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45787065637465642062756666657220636170616369747920746f20626520313932","id":732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2443:36:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3","typeString":"literal_string \"Expected buffer capacity to be 192\""},"value":"Expected buffer capacity to be 192"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3","typeString":"literal_string \"Expected buffer capacity to be 192\""}],"id":727,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2414:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2414:66:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":734,"nodeType":"ExpressionStatement","src":"2414:66:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":736,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"2496:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"2496:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2496:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3936","id":739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2514:2:1","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"2496:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"457870656374656420627566666572206c656e67746820746f206265203936","id":741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2518:33:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b","typeString":"literal_string \"Expected buffer length to be 96\""},"value":"Expected buffer length to be 96"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b","typeString":"literal_string \"Expected buffer length to be 96\""}],"id":735,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2488:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2488:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":743,"nodeType":"ExpressionStatement","src":"2488:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":750,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":706,"src":"2611:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"2611:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2604:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":748,"name":"string","nodeType":"ElementaryTypeName","src":"2604:6:1","typeDescriptions":{}}},"id":752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2604:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2587:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2587:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2587:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":745,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2577:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2577:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"303132333435363738393031323334353637383930313233343536373839303130313233343536373839303132333435363738393031323334353637383930313031323334353637383930313233343536373839303132333435363738393031","id":758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2652:98:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a","typeString":"literal_string \"012345678901234567890123456789010123456789012345678901234567890101234567890123456789012345678901\""},"value":"012345678901234567890123456789010123456789012345678901234567890101234567890123456789012345678901"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a","typeString":"literal_string \"012345678901234567890123456789010123456789012345678901234567890101234567890123456789012345678901\""}],"expression":{"id":756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2635:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2635:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2635:116:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":755,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2625:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2625:127:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2577:175:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2762:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":744,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2560:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2560:239:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":764,"nodeType":"ExpressionStatement","src":"2560:239:1"}]},"functionSelector":"b3a8e9bf","id":766,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferResizeAppendManyBytes","nameLocation":"2160:31:1","nodeType":"FunctionDefinition","parameters":{"id":700,"nodeType":"ParameterList","parameters":[],"src":"2191:2:1"},"returnParameters":{"id":701,"nodeType":"ParameterList","parameters":[],"src":"2206:0:1"},"scope":990,"src":"2151:655:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":826,"nodeType":"Block","src":"2855:391:1","statements":[{"assignments":[773],"declarations":[{"constant":false,"id":773,"mutability":"mutable","name":"buf","nameLocation":"2884:3:1","nodeType":"VariableDeclaration","scope":826,"src":"2863:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":772,"nodeType":"UserDefinedTypeName","pathNode":{"id":771,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"2863:13:1"},"referencedDeclaration":7,"src":"2863:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":774,"nodeType":"VariableDeclarationStatement","src":"2863:24:1"},{"expression":{"arguments":[{"id":778,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":773,"src":"2907:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"hexValue":"30","id":779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2912:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":775,"name":"Buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"2895:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Buffer_$421_$","typeString":"type(library Buffer)"}},"id":777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"2895:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2895:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":781,"nodeType":"ExpressionStatement","src":"2895:19:1"},{"expression":{"arguments":[{"hexValue":"6669727374","id":785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2933:7:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d","typeString":"literal_string \"first\""},"value":"first"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d","typeString":"literal_string \"first\""}],"expression":{"id":782,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":773,"src":"2922:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"2922:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2922:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":787,"nodeType":"ExpressionStatement","src":"2922:19:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":789,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":773,"src":"2957:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"2957:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3332","id":791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2973:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"2957:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45787065637465642062756666657220636170616369747920746f206265203332","id":793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2977:35:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c","typeString":"literal_string \"Expected buffer capacity to be 32\""},"value":"Expected buffer capacity to be 32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c","typeString":"literal_string \"Expected buffer capacity to be 32\""}],"id":788,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2949:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2949:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":795,"nodeType":"ExpressionStatement","src":"2949:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":797,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":773,"src":"3029:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"3029:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3029:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"35","id":800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3047:1:1","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"3029:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"457870656374656420627566666572206c656e67746820746f2062652035","id":802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3050:32:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45","typeString":"literal_string \"Expected buffer length to be 5\""},"value":"Expected buffer length to be 5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45","typeString":"literal_string \"Expected buffer length to be 5\""}],"id":796,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3021:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3021:62:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":804,"nodeType":"ExpressionStatement","src":"3021:62:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":811,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":773,"src":"3142:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"3142:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3135:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":809,"name":"string","nodeType":"ElementaryTypeName","src":"3135:6:1","typeDescriptions":{}}},"id":813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3135:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":807,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3118:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3118:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3118:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":806,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3108:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3108:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"6669727374","id":819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3183:7:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d","typeString":"literal_string \"first\""},"value":"first"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d","typeString":"literal_string \"first\""}],"expression":{"id":817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3166:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3166:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3166:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":816,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3156:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3156:36:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3108:84:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3202:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":805,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3091:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3091:148:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":825,"nodeType":"ExpressionStatement","src":"3091:148:1"}]},"functionSelector":"257f30e8","id":827,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferZeroSized","nameLocation":"2821:19:1","nodeType":"FunctionDefinition","parameters":{"id":767,"nodeType":"ParameterList","parameters":[],"src":"2840:2:1"},"returnParameters":{"id":768,"nodeType":"ParameterList","parameters":[],"src":"2855:0:1"},"scope":990,"src":"2812:434:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":883,"nodeType":"Block","src":"3295:319:1","statements":[{"assignments":[834],"declarations":[{"constant":false,"id":834,"mutability":"mutable","name":"buf","nameLocation":"3324:3:1","nodeType":"VariableDeclaration","scope":883,"src":"3303:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":833,"nodeType":"UserDefinedTypeName","pathNode":{"id":832,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"3303:13:1"},"referencedDeclaration":7,"src":"3303:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":835,"nodeType":"VariableDeclarationStatement","src":"3303:24:1"},{"expression":{"arguments":[{"id":839,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":834,"src":"3347:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"hexValue":"323536","id":840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3352:3:1","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}],"expression":{"id":836,"name":"Buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"3335:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Buffer_$421_$","typeString":"type(library Buffer)"}},"id":838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"3335:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3335:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":842,"nodeType":"ExpressionStatement","src":"3335:21:1"},{"expression":{"arguments":[{"hexValue":"48656c6c6f","id":846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3375:7:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2","typeString":"literal_string \"Hello\""},"value":"Hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2","typeString":"literal_string \"Hello\""}],"expression":{"id":843,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":834,"src":"3364:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"3364:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3364:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":848,"nodeType":"ExpressionStatement","src":"3364:19:1"},{"expression":{"arguments":[{"hexValue":"307832633230","id":852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3405:6:1","typeDescriptions":{"typeIdentifier":"t_rational_11296_by_1","typeString":"int_const 11296"},"value":"0x2c20"},{"hexValue":"32","id":853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3413:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_11296_by_1","typeString":"int_const 11296"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":849,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":834,"src":"3391:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendInt","nodeType":"MemberAccess","referencedDeclaration":420,"src":"3391:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256,uint256) pure returns (struct Buffer.buffer memory)"}},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3391:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":855,"nodeType":"ExpressionStatement","src":"3391:24:1"},{"expression":{"arguments":[{"hexValue":"776f726c6421","id":859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3434:8:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c597b8b015d375458b636c501faca47931cdc0a871c590984debc089c526945d","typeString":"literal_string \"world!\""},"value":"world!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c597b8b015d375458b636c501faca47931cdc0a871c590984debc089c526945d","typeString":"literal_string \"world!\""}],"expression":{"id":856,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":834,"src":"3423:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"3423:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3423:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":861,"nodeType":"ExpressionStatement","src":"3423:20:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":868,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":834,"src":"3502:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"3502:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3495:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":866,"name":"string","nodeType":"ElementaryTypeName","src":"3495:6:1","typeDescriptions":{}}},"id":870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3495:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":864,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3478:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3478:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3478:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":863,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3468:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3468:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"48656c6c6f2c20776f726c6421","id":876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3543:15:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","typeString":"literal_string \"Hello, world!\""},"value":"Hello, world!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","typeString":"literal_string \"Hello, world!\""}],"expression":{"id":874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3526:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3526:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3526:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":873,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3516:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3516:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3468:92:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3570:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":862,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3451:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3451:156:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":882,"nodeType":"ExpressionStatement","src":"3451:156:1"}]},"functionSelector":"7f277cfb","id":884,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferAppendInt","nameLocation":"3261:19:1","nodeType":"FunctionDefinition","parameters":{"id":828,"nodeType":"ParameterList","parameters":[],"src":"3280:2:1"},"returnParameters":{"id":829,"nodeType":"ParameterList","parameters":[],"src":"3295:0:1"},"scope":990,"src":"3252:362:1","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":988,"nodeType":"Block","src":"3669:865:1","statements":[{"assignments":[891],"declarations":[{"constant":false,"id":891,"mutability":"mutable","name":"buf","nameLocation":"3698:3:1","nodeType":"VariableDeclaration","scope":988,"src":"3677:24:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer"},"typeName":{"id":890,"nodeType":"UserDefinedTypeName","pathNode":{"id":889,"name":"Buffer.buffer","nodeType":"IdentifierPath","referencedDeclaration":7,"src":"3677:13:1"},"referencedDeclaration":7,"src":"3677:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_storage_ptr","typeString":"struct Buffer.buffer"}},"visibility":"internal"}],"id":892,"nodeType":"VariableDeclarationStatement","src":"3677:24:1"},{"expression":{"arguments":[{"id":896,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"3721:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},{"hexValue":"3332","id":897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3726:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":893,"name":"Buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"3709:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Buffer_$421_$","typeString":"type(library Buffer)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"init","nodeType":"MemberAccess","referencedDeclaration":45,"src":"3709:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256) pure returns (struct Buffer.buffer memory)"}},"id":898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3709:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":899,"nodeType":"ExpressionStatement","src":"3709:20:1"},{"expression":{"arguments":[{"hexValue":"3031323334353637383930313233343536373839303132333435363738393031","id":903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3748:34:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""},"value":"01234567890123456789012345678901"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f6f0bb62127422171f029ef8588af3a45d58989134675112c2acc78dd16078","typeString":"literal_string \"01234567890123456789012345678901\""}],"expression":{"id":900,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"3737:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"append","nodeType":"MemberAccess","referencedDeclaration":220,"src":"3737:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,bytes memory) pure returns (struct Buffer.buffer memory)"}},"id":904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3737:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":905,"nodeType":"ExpressionStatement","src":"3737:46:1"},{"expression":{"arguments":[{"hexValue":"307832303230","id":909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3805:6:1","typeDescriptions":{"typeIdentifier":"t_rational_8224_by_1","typeString":"int_const 8224"},"value":"0x2020"},{"hexValue":"32","id":910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3813:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8224_by_1","typeString":"int_const 8224"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":906,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"3791:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendInt","nodeType":"MemberAccess","referencedDeclaration":420,"src":"3791:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256,uint256) pure returns (struct Buffer.buffer memory)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3791:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":912,"nodeType":"ExpressionStatement","src":"3791:24:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":914,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"3831:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"capacity","nodeType":"MemberAccess","referencedDeclaration":6,"src":"3831:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3936","id":916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3847:2:1","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"3831:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45787065637465642062756666657220636170616369747920746f206265203936","id":918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3851:35:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","typeString":"literal_string \"Expected buffer capacity to be 96\""},"value":"Expected buffer capacity to be 96"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","typeString":"literal_string \"Expected buffer capacity to be 96\""}],"id":913,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3823:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3823:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":920,"nodeType":"ExpressionStatement","src":"3823:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":922,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"3903:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":923,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"3903:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3903:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3334","id":925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3922:2:1","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"34"},"src":"3903:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"457870656374656420627566666572206c656e67746820746f206265203334","id":927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3926:33:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6","typeString":"literal_string \"Expected buffer length to be 34\""},"value":"Expected buffer length to be 34"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6","typeString":"literal_string \"Expected buffer length to be 34\""}],"id":921,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3895:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3895:65:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":929,"nodeType":"ExpressionStatement","src":"3895:65:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":936,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"4019:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"4019:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4012:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":934,"name":"string","nodeType":"ElementaryTypeName","src":"4012:6:1","typeDescriptions":{}}},"id":938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4012:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3995:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3995:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3995:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":931,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3985:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3985:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30313233343536373839303132333435363738393031323334353637383930312020","id":944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4060:36:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3","typeString":"literal_string \"01234567890123456789012345678901  \""},"value":"01234567890123456789012345678901  "}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3","typeString":"literal_string \"01234567890123456789012345678901  \""}],"expression":{"id":942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4043:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4043:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4043:54:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":941,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4033:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4033:65:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3985:113:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4108:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":930,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3968:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3968:177:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":950,"nodeType":"ExpressionStatement","src":"3968:177:1"},{"expression":{"arguments":[{"hexValue":"307832303230323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032303230","id":954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4167:66:1","typeDescriptions":{"typeIdentifier":"t_rational_14530771982722032366879496157952992358057409840394109997108402699032235876384_by_1","typeString":"int_const 1453...(69 digits omitted)...6384"},"value":"0x2020202020202020202020202020202020202020202020202020202020202020"},{"hexValue":"3332","id":955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4235:2:1","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_14530771982722032366879496157952992358057409840394109997108402699032235876384_by_1","typeString":"int_const 1453...(69 digits omitted)...6384"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":951,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"4153:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appendInt","nodeType":"MemberAccess","referencedDeclaration":420,"src":"4153:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_buffer_$7_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_struct$_buffer_$7_memory_ptr_$bound_to$_t_struct$_buffer_$7_memory_ptr_$","typeString":"function (struct Buffer.buffer memory,uint256,uint256) pure returns (struct Buffer.buffer memory)"}},"id":956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4153:85:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":957,"nodeType":"ExpressionStatement","src":"4153:85:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":959,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"4254:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"4254:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4254:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3636","id":962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4272:2:1","typeDescriptions":{"typeIdentifier":"t_rational_66_by_1","typeString":"int_const 66"},"value":"66"},"src":"4254:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"457870656374656420627566666572206c656e67746820746f206265203636","id":964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4276:33:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f","typeString":"literal_string \"Expected buffer length to be 66\""},"value":"Expected buffer length to be 66"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f","typeString":"literal_string \"Expected buffer length to be 66\""}],"id":958,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4246:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4246:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":966,"nodeType":"ExpressionStatement","src":"4246:64:1"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":973,"name":"buf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"4369:3:1","typeDescriptions":{"typeIdentifier":"t_struct$_buffer_$7_memory_ptr","typeString":"struct Buffer.buffer memory"}},"id":974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"buf","nodeType":"MemberAccess","referencedDeclaration":4,"src":"4369:7:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4362:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":971,"name":"string","nodeType":"ElementaryTypeName","src":"4362:6:1","typeDescriptions":{}}},"id":975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4362:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":969,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4345:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4345:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4345:33:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":968,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4335:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4335:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"303132333435363738393031323334353637383930313233343536373839303120202020202020202020202020202020202020202020202020202020202020202020","id":981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4410:68:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1","typeString":"literal_string \"01234567890123456789012345678901                                  \""},"value":"01234567890123456789012345678901                                  "}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1","typeString":"literal_string \"01234567890123456789012345678901                                  \""}],"expression":{"id":979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4393:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4393:16:1","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4393:86:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":978,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4383:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4383:97:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4335:145:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"556e65787065637465642062756666657220636f6e74656e74732e","id":985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4490:29:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""},"value":"Unexpected buffer contents."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","typeString":"literal_string \"Unexpected buffer contents.\""}],"id":967,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4318:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4318:209:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":987,"nodeType":"ExpressionStatement","src":"4318:209:1"}]},"functionSelector":"fe04a433","id":989,"implemented":true,"kind":"function","modifiers":[],"name":"testBufferResizeAppendInt","nameLocation":"3629:25:1","nodeType":"FunctionDefinition","parameters":{"id":885,"nodeType":"ParameterList","parameters":[],"src":"3654:2:1"},"returnParameters":{"id":886,"nodeType":"ParameterList","parameters":[],"src":"3669:0:1"},"scope":990,"src":"3620:914:1","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":991,"src":"104:4432:1","usedErrors":[]}],"src":"41:4496:1"},"id":1}},"contracts":{"contracts/Buffer.sol":{"Buffer":{"abi":[],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb2866675b268598da41311212379072ad5201f3b0148e64e54f393042e1e9d064736f6c63430008040033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB 0x28 PUSH7 0x675B268598DA41 BALANCE SLT SLT CALLDATACOPY SWAP1 PUSH19 0xAD5201F3B0148E64E54F393042E1E9D064736F PUSH13 0x63430008040033000000000000 ","sourceMap":"445:8513:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb2866675b268598da41311212379072ad5201f3b0148e64e54f393042e1e9d064736f6c63430008040033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBB 0x28 PUSH7 0x675B268598DA41 BALANCE SLT SLT CALLDATACOPY SWAP1 PUSH19 0xAD5201F3B0148E64E54F393042E1E9D064736F PUSH13 0x63430008040033000000000000 ","sourceMap":"445:8513:0:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"A library for working with mutable byte buffers in Solidity. Byte buffers are mutable and expandable, and provide a variety of primitives for appending to them. At any time you can fetch a bytes object containing the current contents of the buffer. The bytes object should not be stored between operations, as it may change due to resizing of the buffer.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Buffer.sol\":\"Buffer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Buffer.sol\":{\"keccak256\":\"0xd85358722045348893aeedd23539816c9d1b218ab801a3fcd1ec4e38ecc8eb22\",\"license\":\"BSD-2-Clause\",\"urls\":[\"bzz-raw://45d0bfeddca7c391807ca0ff4327668454df95ccadc1c48e0e34bc48e5c60704\",\"dweb:/ipfs/QmPykNMnJpvdxk9uTzyxMd6crVUTgxpHSskU3UyRTPm9cU\"]}},\"version\":1}"}},"test/TestBuffer.sol":{"TestBuffer":{"abi":[{"inputs":[],"name":"checkBufferInitOverflow","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferAppend","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferAppendInt","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferAppendUint8","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferResizeAppendBytes","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferResizeAppendInt","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferResizeAppendManyBytes","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferResizeAppendUint8","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"testBufferZeroSized","outputs":[],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50611bc1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806355be6b3c1161006657806355be6b3c146100c05780637f277cfb146100ca578063975977e8146100d4578063b3a8e9bf146100de578063fe04a433146100e857610093565b8063257f30e8146100985780632d6fc67f146100a257806340d26e2b146100ac5780635532aa8b146100b6575b600080fd5b6100a06100f2565b005b6100aa610271565b005b6100b4610439565b005b6100be61048e565b005b6100c86105dd565b005b6100d2610769565b005b6100dc6108bc565b005b6100e6610a50565b005b6100f0610bfb565b005b6100fa611123565b610105816000610ea2565b5061014e6040518060400160405280600581526020017f666972737400000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506020816020015114610196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018d90611488565b60405180910390fd5b6005816000015151146101de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d590611448565b60405180910390fd5b6040516020016101ed906113ca565b604051602081830303815290604052805190602001208160000151604051602001610218919061139e565b604051602081830303815290604052805190602001201461026e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610265906114c8565b60405180910390fd5b50565b610279611123565b610284816020610ea2565b506102cd6040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b506103166040518060400160405280600281526020017f323300000000000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b50606081602001511461035e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590611508565b60405180910390fd5b6022816000015151146103a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039d90611528565b60405180910390fd5b6040516020016103b5906113f4565b6040516020818303038152906040528051906020012081600001516040516020016103e0919061139e565b6040516020818303038152906040528051906020012014610436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042d906114c8565b60405180910390fd5b50565b610441611123565b61045661010082610ea290919063ffffffff16565b5061048a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ea290919063ffffffff16565b5050565b610496611123565b6104a281610100610ea2565b506104eb6040518060400160405280600681526020017f48656c6c6f2c000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b50610500602082610f3790919063ffffffff16565b506105496040518060400160405280600681526020017f776f726c6421000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b5060405160200161055990611409565b604051602081830303815290604052805190602001208160000151604051602001610584919061139e565b60405160208183030381529060405280519060200120146105da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d1906114c8565b60405180910390fd5b50565b6105e5611123565b6105fa61010082610ea290919063ffffffff16565b506106436040518060400160405280600581526020017f48656c6c6f00000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b5061068c6040518060400160405280600281526020017f2c2000000000000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506106d56040518060400160405280600681526020017f776f726c6421000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506040516020016106e590611409565b604051602081830303815290604052805190602001208160000151604051602001610710919061139e565b6040516020818303038152906040528051906020012014610766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075d906114c8565b60405180910390fd5b50565b610771611123565b61077d81610100610ea2565b506107c66040518060400160405280600581526020017f48656c6c6f00000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506107df612c20600283610fa19092919063ffffffff16565b506108286040518060400160405280600681526020017f776f726c6421000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b5060405160200161083890611409565b604051602081830303815290604052805190602001208160000151604051602001610863919061139e565b60405160208183030381529060405280519060200120146108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b0906114c8565b60405180910390fd5b50565b6108c4611123565b6108cf816020610ea2565b506109186040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b5061092d602082610f3790919063ffffffff16565b506060816020015114610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c90611508565b60405180910390fd5b6021816000015151146109bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b490611528565b60405180910390fd5b6040516020016109cc906113df565b6040516020818303038152906040528051906020012081600001516040516020016109f7919061139e565b6040516020818303038152906040528051906020012014610a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a44906114c8565b60405180910390fd5b50565b610a58611123565b610a63816020610ea2565b50610aac6040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b50610ad8604051806060016040528060408152602001611b4c6040913982610f1b90919063ffffffff16565b5060c0816020015114610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790611468565b60405180910390fd5b606081600001515114610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f906114a8565b60405180910390fd5b604051602001610b7790611433565b604051602081830303815290604052805190602001208160000151604051602001610ba2919061139e565b6040516020818303038152906040528051906020012014610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef906114c8565b60405180910390fd5b50565b610c03611123565b610c0e816020610ea2565b50610c576040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b50610c70612020600283610fa19092919063ffffffff16565b506060816020015114610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf90611508565b60405180910390fd5b602281600001515114610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790611548565b60405180910390fd5b604051602001610d0f906113b5565b604051602081830303815290604052805190602001208160000151604051602001610d3a919061139e565b6040516020818303038152906040528051906020012014610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d87906114c8565b60405180910390fd5b610dc67f2020202020202020202020202020202020202020202020202020202020202020602083610fa19092919063ffffffff16565b50604281600001515114610e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e06906114e8565b60405180910390fd5b604051602001610e1e9061141e565b604051602081830303815290604052805190602001208160000151604051602001610e49919061139e565b6040516020818303038152906040528051906020012014610e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e96906114c8565b60405180910390fd5b50565b610eaa611123565b6000602083610eb991906116b0565b14610ee557602082610ecb91906116b0565b6020610ed7919061163f565b82610ee2919061158f565b91505b818360200181815250506040518084526000815282810160200181811015610f0c57600080fd5b80604052505082905092915050565b610f23611123565b610f2f8383845161101c565b905092915050565b610f3f611123565b600083600001515190506000600182610f58919061158f565b905084602001518210610f7c57610f7b85600283610f7691906115e5565b6110ff565b5b84516020838201018581538151831115610f94578282525b5050849250505092915050565b610fa9611123565b6000846000015151905060008184610fc1919061158f565b90508560200151811115610fe657610fe586600283610fe091906115e5565b6110ff565b5b60006001856101000a0390508651828101878319825116178152815184111561100d578382525b50505085925050509392505050565b611024611123565b825182111561103257600080fd5b600084600001515190506000838261104a919061158f565b9050856020015181111561106f5761106e8660028361106991906115e5565b6110ff565b5b6000808751805185602083010193508085111561108a578482525b60208901925050505b602086106110d157805182526020826110ac919061158f565b91506020816110bb919061158f565b90506020866110ca919061163f565b9550611093565b60006001876020036101000a0390508019825116818451168181178552505050879450505050509392505050565b6000826000015190506111128383610ea2565b5061111d8382610f1b565b50505050565b604051806040016040528060608152602001600081525090565b600061114882611568565b6111528185611584565b935061116281856020860161167d565b80840191505092915050565b600061117b602283611584565b91506111868261173f565b602282019050919050565b600061119e601e83611573565b91506111a98261178e565b602082019050919050565b60006111c1600583611584565b91506111cc826117b7565b600582019050919050565b60006111e4602183611584565b91506111ef826117e0565b602182019050919050565b6000611207602283611584565b91506112128261182f565b602282019050919050565b600061122a602283611573565b91506112358261187e565b604082019050919050565b600061124d602183611573565b9150611258826118cd565b604082019050919050565b6000611270601f83611573565b915061127b8261191c565b602082019050919050565b6000611293601b83611573565b915061129e82611945565b602082019050919050565b60006112b6600d83611584565b91506112c18261196e565b600d82019050919050565b60006112d9601f83611573565b91506112e482611997565b602082019050919050565b60006112fc602183611573565b9150611307826119c0565b604082019050919050565b600061131f604283611584565b915061132a82611a0f565b604282019050919050565b6000611342606083611584565b915061134d82611a84565b606082019050919050565b6000611365601f83611573565b915061137082611af9565b602082019050919050565b6000611388601f83611573565b915061139382611b22565b602082019050919050565b60006113aa828461113d565b915081905092915050565b60006113c08261116e565b9150819050919050565b60006113d5826111b4565b9150819050919050565b60006113ea826111d7565b9150819050919050565b60006113ff826111fa565b9150819050919050565b6000611414826112a9565b9150819050919050565b600061142982611312565b9150819050919050565b600061143e82611335565b9150819050919050565b6000602082019050818103600083015261146181611191565b9050919050565b600060208201905081810360008301526114818161121d565b9050919050565b600060208201905081810360008301526114a181611240565b9050919050565b600060208201905081810360008301526114c181611263565b9050919050565b600060208201905081810360008301526114e181611286565b9050919050565b60006020820190508181036000830152611501816112cc565b9050919050565b60006020820190508181036000830152611521816112ef565b9050919050565b6000602082019050818103600083015261154181611358565b9050919050565b600060208201905081810360008301526115618161137b565b9050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061159a82611673565b91506115a583611673565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115da576115d96116e1565b5b828201905092915050565b60006115f082611673565b91506115fb83611673565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611634576116336116e1565b5b828202905092915050565b600061164a82611673565b915061165583611673565b925082821015611668576116676116e1565b5b828203905092915050565b6000819050919050565b60005b8381101561169b578082015181840152602081019050611680565b838111156116aa576000848401525b50505050565b60006116bb82611673565b91506116c683611673565b9250826116d6576116d5611710565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f303132333435363738393031323334353637383930313233343536373839303160008201527f2020000000000000000000000000000000000000000000000000000000000000602082015250565b7f457870656374656420627566666572206c656e67746820746f20626520350000600082015250565b7f6669727374000000000000000000000000000000000000000000000000000000600082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f2000000000000000000000000000000000000000000000000000000000000000602082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f3233000000000000000000000000000000000000000000000000000000000000602082015250565b7f45787065637465642062756666657220636170616369747920746f206265203160008201527f3932000000000000000000000000000000000000000000000000000000000000602082015250565b7f45787065637465642062756666657220636170616369747920746f206265203360008201527f3200000000000000000000000000000000000000000000000000000000000000602082015250565b7f457870656374656420627566666572206c656e67746820746f20626520393600600082015250565b7f556e65787065637465642062756666657220636f6e74656e74732e0000000000600082015250565b7f48656c6c6f2c20776f726c642100000000000000000000000000000000000000600082015250565b7f457870656374656420627566666572206c656e67746820746f20626520363600600082015250565b7f45787065637465642062756666657220636170616369747920746f206265203960008201527f3600000000000000000000000000000000000000000000000000000000000000602082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f202020202020202020202020202020202020202020202020202020202020202060208201527f2020000000000000000000000000000000000000000000000000000000000000604082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f303132333435363738393031323334353637383930313233343536373839303160208201527f3031323334353637383930313233343536373839303132333435363738393031604082015250565b7f457870656374656420627566666572206c656e67746820746f20626520333300600082015250565b7f457870656374656420627566666572206c656e67746820746f2062652033340060008201525056fe30313233343536373839303132333435363738393031323334353637383930313031323334353637383930313233343536373839303132333435363738393031a26469706673582212204fe973680a1c760293439ebcd468042871d927e1f17b6fc8d7120558ad936b6f64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BC1 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x55BE6B3C GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x55BE6B3C EQ PUSH2 0xC0 JUMPI DUP1 PUSH4 0x7F277CFB EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0x975977E8 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0xB3A8E9BF EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0xFE04A433 EQ PUSH2 0xE8 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x257F30E8 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x2D6FC67F EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0x40D26E2B EQ PUSH2 0xAC JUMPI DUP1 PUSH4 0x5532AA8B EQ PUSH2 0xB6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH2 0xF2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xAA PUSH2 0x271 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB4 PUSH2 0x439 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBE PUSH2 0x48E JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC8 PUSH2 0x5DD JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD2 PUSH2 0x769 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDC PUSH2 0x8BC JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE6 PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xF0 PUSH2 0xBFB JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFA PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x105 DUP2 PUSH1 0x0 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x14E PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6669727374000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x20 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x196 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18D SWAP1 PUSH2 0x1488 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0x1DE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1D5 SWAP1 PUSH2 0x1448 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1ED SWAP1 PUSH2 0x13CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x218 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x26E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x265 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x279 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x284 DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x2CD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x316 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3233000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x35E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x355 SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x22 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0x3A6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x39D SWAP1 PUSH2 0x1528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3B5 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3E0 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x436 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42D SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x441 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x456 PUSH2 0x100 DUP3 PUSH2 0xEA2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x48A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xEA2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x496 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x4A2 DUP2 PUSH2 0x100 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x4EB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F2C0000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x500 PUSH1 0x20 DUP3 PUSH2 0xF37 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x549 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x776F726C64210000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x559 SWAP1 PUSH2 0x1409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x584 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x5DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D1 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x5E5 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x5FA PUSH2 0x100 DUP3 PUSH2 0xEA2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x643 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x68C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2C20000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x6D5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x776F726C64210000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6E5 SWAP1 PUSH2 0x1409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x710 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x766 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x75D SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x771 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x77D DUP2 PUSH2 0x100 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x7C6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x7DF PUSH2 0x2C20 PUSH1 0x2 DUP4 PUSH2 0xFA1 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x828 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x776F726C64210000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x838 SWAP1 PUSH2 0x1409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x863 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x8B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B0 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x8C4 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x8CF DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x918 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x92D PUSH1 0x20 DUP3 PUSH2 0xF37 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x975 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x96C SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x21 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0x9BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9B4 SWAP1 PUSH2 0x1528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9CC SWAP1 PUSH2 0x13DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9F7 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xA4D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA44 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0xA63 DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0xAAC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xAD8 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B4C PUSH1 0x40 SWAP2 CODECOPY DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0xC0 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0xB20 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB17 SWAP1 PUSH2 0x1468 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0xB68 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB5F SWAP1 PUSH2 0x14A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB77 SWAP1 PUSH2 0x1433 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xBF8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBEF SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xC03 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0xC0E DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0xC57 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xC70 PUSH2 0x2020 PUSH1 0x2 DUP4 PUSH2 0xFA1 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0xCB8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCAF SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x22 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0xD00 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF7 SWAP1 PUSH2 0x1548 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD0F SWAP1 PUSH2 0x13B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD3A SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xD90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD87 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xDC6 PUSH32 0x2020202020202020202020202020202020202020202020202020202020202020 PUSH1 0x20 DUP4 PUSH2 0xFA1 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x42 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0xE0F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE06 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE1E SWAP1 PUSH2 0x141E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE49 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xE9F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE96 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xEAA PUSH2 0x1123 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP4 PUSH2 0xEB9 SWAP2 SWAP1 PUSH2 0x16B0 JUMP JUMPDEST EQ PUSH2 0xEE5 JUMPI PUSH1 0x20 DUP3 PUSH2 0xECB SWAP2 SWAP1 PUSH2 0x16B0 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xED7 SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST DUP3 PUSH2 0xEE2 SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP2 POP JUMPDEST DUP2 DUP4 PUSH1 0x20 ADD DUP2 DUP2 MSTORE POP POP PUSH1 0x40 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 DUP2 MSTORE DUP3 DUP2 ADD PUSH1 0x20 ADD DUP2 DUP2 LT ISZERO PUSH2 0xF0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF23 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0xF2F DUP4 DUP4 DUP5 MLOAD PUSH2 0x101C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF3F PUSH2 0x1123 JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x0 ADD MLOAD MLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH2 0xF58 SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0x20 ADD MLOAD DUP3 LT PUSH2 0xF7C JUMPI PUSH2 0xF7B DUP6 PUSH1 0x2 DUP4 PUSH2 0xF76 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST JUMPDEST DUP5 MLOAD PUSH1 0x20 DUP4 DUP3 ADD ADD DUP6 DUP2 MSTORE8 DUP2 MLOAD DUP4 GT ISZERO PUSH2 0xF94 JUMPI DUP3 DUP3 MSTORE JUMPDEST POP POP DUP5 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xFA9 PUSH2 0x1123 JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD MLOAD SWAP1 POP PUSH1 0x0 DUP2 DUP5 PUSH2 0xFC1 SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP DUP6 PUSH1 0x20 ADD MLOAD DUP2 GT ISZERO PUSH2 0xFE6 JUMPI PUSH2 0xFE5 DUP7 PUSH1 0x2 DUP4 PUSH2 0xFE0 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x100 EXP SUB SWAP1 POP DUP7 MLOAD DUP3 DUP2 ADD DUP8 DUP4 NOT DUP3 MLOAD AND OR DUP2 MSTORE DUP2 MLOAD DUP5 GT ISZERO PUSH2 0x100D JUMPI DUP4 DUP3 MSTORE JUMPDEST POP POP POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1024 PUSH2 0x1123 JUMP JUMPDEST DUP3 MLOAD DUP3 GT ISZERO PUSH2 0x1032 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD MLOAD SWAP1 POP PUSH1 0x0 DUP4 DUP3 PUSH2 0x104A SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP DUP6 PUSH1 0x20 ADD MLOAD DUP2 GT ISZERO PUSH2 0x106F JUMPI PUSH2 0x106E DUP7 PUSH1 0x2 DUP4 PUSH2 0x1069 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP1 DUP8 MLOAD DUP1 MLOAD DUP6 PUSH1 0x20 DUP4 ADD ADD SWAP4 POP DUP1 DUP6 GT ISZERO PUSH2 0x108A JUMPI DUP5 DUP3 MSTORE JUMPDEST PUSH1 0x20 DUP10 ADD SWAP3 POP POP POP JUMPDEST PUSH1 0x20 DUP7 LT PUSH2 0x10D1 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 PUSH2 0x10AC SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP2 PUSH2 0x10BB SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP7 PUSH2 0x10CA SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST SWAP6 POP PUSH2 0x1093 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP8 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB SWAP1 POP DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP2 DUP2 OR DUP6 MSTORE POP POP POP DUP8 SWAP5 POP POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH2 0x1112 DUP4 DUP4 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x111D DUP4 DUP3 PUSH2 0xF1B JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1148 DUP3 PUSH2 0x1568 JUMP JUMPDEST PUSH2 0x1152 DUP2 DUP6 PUSH2 0x1584 JUMP JUMPDEST SWAP4 POP PUSH2 0x1162 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x167D JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x117B PUSH1 0x22 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x1186 DUP3 PUSH2 0x173F JUMP JUMPDEST PUSH1 0x22 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x119E PUSH1 0x1E DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x11A9 DUP3 PUSH2 0x178E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11C1 PUSH1 0x5 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x11CC DUP3 PUSH2 0x17B7 JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11E4 PUSH1 0x21 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x11EF DUP3 PUSH2 0x17E0 JUMP JUMPDEST PUSH1 0x21 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1207 PUSH1 0x22 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x1212 DUP3 PUSH2 0x182F JUMP JUMPDEST PUSH1 0x22 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x122A PUSH1 0x22 DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1235 DUP3 PUSH2 0x187E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124D PUSH1 0x21 DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1258 DUP3 PUSH2 0x18CD JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1270 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x127B DUP3 PUSH2 0x191C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1293 PUSH1 0x1B DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x129E DUP3 PUSH2 0x1945 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12B6 PUSH1 0xD DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x12C1 DUP3 PUSH2 0x196E JUMP JUMPDEST PUSH1 0xD DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12D9 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x12E4 DUP3 PUSH2 0x1997 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FC PUSH1 0x21 DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1307 DUP3 PUSH2 0x19C0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x131F PUSH1 0x42 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x132A DUP3 PUSH2 0x1A0F JUMP JUMPDEST PUSH1 0x42 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1342 PUSH1 0x60 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x134D DUP3 PUSH2 0x1A84 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1365 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1370 DUP3 PUSH2 0x1AF9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1388 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1393 DUP3 PUSH2 0x1B22 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AA DUP3 DUP5 PUSH2 0x113D JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13C0 DUP3 PUSH2 0x116E JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D5 DUP3 PUSH2 0x11B4 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13EA DUP3 PUSH2 0x11D7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13FF DUP3 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1414 DUP3 PUSH2 0x12A9 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0x1312 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143E DUP3 PUSH2 0x1335 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1461 DUP2 PUSH2 0x1191 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1481 DUP2 PUSH2 0x121D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14A1 DUP2 PUSH2 0x1240 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14C1 DUP2 PUSH2 0x1263 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E1 DUP2 PUSH2 0x1286 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1501 DUP2 PUSH2 0x12CC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1521 DUP2 PUSH2 0x12EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1541 DUP2 PUSH2 0x1358 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1561 DUP2 PUSH2 0x137B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x159A DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x15A5 DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x15DA JUMPI PUSH2 0x15D9 PUSH2 0x16E1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x15FB DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1634 JUMPI PUSH2 0x1633 PUSH2 0x16E1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x164A DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x1655 DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1668 JUMPI PUSH2 0x1667 PUSH2 0x16E1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x169B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1680 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x16AA JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16BB DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x16C6 DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x16D6 JUMPI PUSH2 0x16D5 PUSH2 0x1710 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2020000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520350000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x6669727374000000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3233000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45787065637465642062756666657220636170616369747920746F2062652031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3932000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45787065637465642062756666657220636170616369747920746F2062652033 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3200000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520393600 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E65787065637465642062756666657220636F6E74656E74732E0000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x48656C6C6F2C20776F726C642100000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520363600 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45787065637465642062756666657220636170616369747920746F2062652039 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3600000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2020202020202020202020202020202020202020202020202020202020202020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2020000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520333300 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520333400 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4F 0xE9 PUSH20 0x680A1C760293439EBCD468042871D927E1F17B6F 0xC8 0xD7 SLT SDIV PC 0xAD SWAP4 PUSH12 0x6F64736F6C63430008040033 ","sourceMap":"104:4432:1:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:19078:2","statements":[{"body":{"nodeType":"YulBlock","src":"117:267:2","statements":[{"nodeType":"YulVariableDeclaration","src":"127:53:2","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"174:5:2"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"141:32:2"},"nodeType":"YulFunctionCall","src":"141:39:2"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"131:6:2","type":""}]},{"nodeType":"YulAssignment","src":"189:96:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"273:3:2"},{"name":"length","nodeType":"YulIdentifier","src":"278:6:2"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"196:76:2"},"nodeType":"YulFunctionCall","src":"196:89:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"189:3:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"320:5:2"},{"kind":"number","nodeType":"YulLiteral","src":"327:4:2","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"316:3:2"},"nodeType":"YulFunctionCall","src":"316:16:2"},{"name":"pos","nodeType":"YulIdentifier","src":"334:3:2"},{"name":"length","nodeType":"YulIdentifier","src":"339:6:2"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"294:21:2"},"nodeType":"YulFunctionCall","src":"294:52:2"},"nodeType":"YulExpressionStatement","src":"294:52:2"},{"nodeType":"YulAssignment","src":"355:23:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"366:3:2"},{"name":"length","nodeType":"YulIdentifier","src":"371:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"362:3:2"},"nodeType":"YulFunctionCall","src":"362:16:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"355:3:2"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"98:5:2","type":""},{"name":"pos","nodeType":"YulTypedName","src":"105:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"113:3:2","type":""}],"src":"7:377:2"},{"body":{"nodeType":"YulBlock","src":"554:238:2","statements":[{"nodeType":"YulAssignment","src":"564:92:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"648:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"653:2:2","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"571:76:2"},"nodeType":"YulFunctionCall","src":"571:85:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"564:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"754:3:2"}],"functionName":{"name":"store_literal_in_memory_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3","nodeType":"YulIdentifier","src":"665:88:2"},"nodeType":"YulFunctionCall","src":"665:93:2"},"nodeType":"YulExpressionStatement","src":"665:93:2"},{"nodeType":"YulAssignment","src":"767:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"778:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"783:2:2","type":"","value":"34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"774:3:2"},"nodeType":"YulFunctionCall","src":"774:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"767:3:2"}]}]},"name":"abi_encode_t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"542:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"550:3:2","type":""}],"src":"390:402:2"},{"body":{"nodeType":"YulBlock","src":"944:220:2","statements":[{"nodeType":"YulAssignment","src":"954:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1020:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1025:2:2","type":"","value":"30"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"961:58:2"},"nodeType":"YulFunctionCall","src":"961:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"954:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1126:3:2"}],"functionName":{"name":"store_literal_in_memory_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45","nodeType":"YulIdentifier","src":"1037:88:2"},"nodeType":"YulFunctionCall","src":"1037:93:2"},"nodeType":"YulExpressionStatement","src":"1037:93:2"},{"nodeType":"YulAssignment","src":"1139:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1150:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1155:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1146:3:2"},"nodeType":"YulFunctionCall","src":"1146:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1139:3:2"}]}]},"name":"abi_encode_t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"932:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"940:3:2","type":""}],"src":"798:366:2"},{"body":{"nodeType":"YulBlock","src":"1334:236:2","statements":[{"nodeType":"YulAssignment","src":"1344:91:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1428:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1433:1:2","type":"","value":"5"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"1351:76:2"},"nodeType":"YulFunctionCall","src":"1351:84:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1344:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1533:3:2"}],"functionName":{"name":"store_literal_in_memory_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d","nodeType":"YulIdentifier","src":"1444:88:2"},"nodeType":"YulFunctionCall","src":"1444:93:2"},"nodeType":"YulExpressionStatement","src":"1444:93:2"},{"nodeType":"YulAssignment","src":"1546:18:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1557:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1562:1:2","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1553:3:2"},"nodeType":"YulFunctionCall","src":"1553:11:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1546:3:2"}]}]},"name":"abi_encode_t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"1322:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1330:3:2","type":""}],"src":"1170:400:2"},{"body":{"nodeType":"YulBlock","src":"1740:238:2","statements":[{"nodeType":"YulAssignment","src":"1750:92:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1834:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1839:2:2","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"1757:76:2"},"nodeType":"YulFunctionCall","src":"1757:85:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1750:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1940:3:2"}],"functionName":{"name":"store_literal_in_memory_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3","nodeType":"YulIdentifier","src":"1851:88:2"},"nodeType":"YulFunctionCall","src":"1851:93:2"},"nodeType":"YulExpressionStatement","src":"1851:93:2"},{"nodeType":"YulAssignment","src":"1953:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1964:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1969:2:2","type":"","value":"33"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1960:3:2"},"nodeType":"YulFunctionCall","src":"1960:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1953:3:2"}]}]},"name":"abi_encode_t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"1728:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1736:3:2","type":""}],"src":"1576:402:2"},{"body":{"nodeType":"YulBlock","src":"2148:238:2","statements":[{"nodeType":"YulAssignment","src":"2158:92:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2242:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"2247:2:2","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"2165:76:2"},"nodeType":"YulFunctionCall","src":"2165:85:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2158:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2348:3:2"}],"functionName":{"name":"store_literal_in_memory_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1","nodeType":"YulIdentifier","src":"2259:88:2"},"nodeType":"YulFunctionCall","src":"2259:93:2"},"nodeType":"YulExpressionStatement","src":"2259:93:2"},{"nodeType":"YulAssignment","src":"2361:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2372:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"2377:2:2","type":"","value":"34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2368:3:2"},"nodeType":"YulFunctionCall","src":"2368:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2361:3:2"}]}]},"name":"abi_encode_t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2136:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2144:3:2","type":""}],"src":"1984:402:2"},{"body":{"nodeType":"YulBlock","src":"2538:220:2","statements":[{"nodeType":"YulAssignment","src":"2548:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2614:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"2619:2:2","type":"","value":"34"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2555:58:2"},"nodeType":"YulFunctionCall","src":"2555:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2548:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2720:3:2"}],"functionName":{"name":"store_literal_in_memory_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3","nodeType":"YulIdentifier","src":"2631:88:2"},"nodeType":"YulFunctionCall","src":"2631:93:2"},"nodeType":"YulExpressionStatement","src":"2631:93:2"},{"nodeType":"YulAssignment","src":"2733:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2744:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"2749:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2740:3:2"},"nodeType":"YulFunctionCall","src":"2740:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2733:3:2"}]}]},"name":"abi_encode_t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2526:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2534:3:2","type":""}],"src":"2392:366:2"},{"body":{"nodeType":"YulBlock","src":"2910:220:2","statements":[{"nodeType":"YulAssignment","src":"2920:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2986:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"2991:2:2","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2927:58:2"},"nodeType":"YulFunctionCall","src":"2927:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2920:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3092:3:2"}],"functionName":{"name":"store_literal_in_memory_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c","nodeType":"YulIdentifier","src":"3003:88:2"},"nodeType":"YulFunctionCall","src":"3003:93:2"},"nodeType":"YulExpressionStatement","src":"3003:93:2"},{"nodeType":"YulAssignment","src":"3105:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3116:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"3121:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3112:3:2"},"nodeType":"YulFunctionCall","src":"3112:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3105:3:2"}]}]},"name":"abi_encode_t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2898:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2906:3:2","type":""}],"src":"2764:366:2"},{"body":{"nodeType":"YulBlock","src":"3282:220:2","statements":[{"nodeType":"YulAssignment","src":"3292:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3358:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"3363:2:2","type":"","value":"31"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3299:58:2"},"nodeType":"YulFunctionCall","src":"3299:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3292:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3464:3:2"}],"functionName":{"name":"store_literal_in_memory_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b","nodeType":"YulIdentifier","src":"3375:88:2"},"nodeType":"YulFunctionCall","src":"3375:93:2"},"nodeType":"YulExpressionStatement","src":"3375:93:2"},{"nodeType":"YulAssignment","src":"3477:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3488:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"3493:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3484:3:2"},"nodeType":"YulFunctionCall","src":"3484:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3477:3:2"}]}]},"name":"abi_encode_t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3270:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3278:3:2","type":""}],"src":"3136:366:2"},{"body":{"nodeType":"YulBlock","src":"3654:220:2","statements":[{"nodeType":"YulAssignment","src":"3664:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3730:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"3735:2:2","type":"","value":"27"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3671:58:2"},"nodeType":"YulFunctionCall","src":"3671:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3664:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3836:3:2"}],"functionName":{"name":"store_literal_in_memory_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","nodeType":"YulIdentifier","src":"3747:88:2"},"nodeType":"YulFunctionCall","src":"3747:93:2"},"nodeType":"YulExpressionStatement","src":"3747:93:2"},{"nodeType":"YulAssignment","src":"3849:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3860:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"3865:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3856:3:2"},"nodeType":"YulFunctionCall","src":"3856:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3849:3:2"}]}]},"name":"abi_encode_t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3642:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3650:3:2","type":""}],"src":"3508:366:2"},{"body":{"nodeType":"YulBlock","src":"4044:238:2","statements":[{"nodeType":"YulAssignment","src":"4054:92:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4138:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"4143:2:2","type":"","value":"13"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"4061:76:2"},"nodeType":"YulFunctionCall","src":"4061:85:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4054:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4244:3:2"}],"functionName":{"name":"store_literal_in_memory_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","nodeType":"YulIdentifier","src":"4155:88:2"},"nodeType":"YulFunctionCall","src":"4155:93:2"},"nodeType":"YulExpressionStatement","src":"4155:93:2"},{"nodeType":"YulAssignment","src":"4257:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4268:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"4273:2:2","type":"","value":"13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4264:3:2"},"nodeType":"YulFunctionCall","src":"4264:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4257:3:2"}]}]},"name":"abi_encode_t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4032:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4040:3:2","type":""}],"src":"3880:402:2"},{"body":{"nodeType":"YulBlock","src":"4434:220:2","statements":[{"nodeType":"YulAssignment","src":"4444:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4510:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"4515:2:2","type":"","value":"31"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4451:58:2"},"nodeType":"YulFunctionCall","src":"4451:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4444:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4616:3:2"}],"functionName":{"name":"store_literal_in_memory_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f","nodeType":"YulIdentifier","src":"4527:88:2"},"nodeType":"YulFunctionCall","src":"4527:93:2"},"nodeType":"YulExpressionStatement","src":"4527:93:2"},{"nodeType":"YulAssignment","src":"4629:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4640:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"4645:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4636:3:2"},"nodeType":"YulFunctionCall","src":"4636:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4629:3:2"}]}]},"name":"abi_encode_t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4422:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4430:3:2","type":""}],"src":"4288:366:2"},{"body":{"nodeType":"YulBlock","src":"4806:220:2","statements":[{"nodeType":"YulAssignment","src":"4816:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4882:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"4887:2:2","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4823:58:2"},"nodeType":"YulFunctionCall","src":"4823:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4816:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4988:3:2"}],"functionName":{"name":"store_literal_in_memory_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","nodeType":"YulIdentifier","src":"4899:88:2"},"nodeType":"YulFunctionCall","src":"4899:93:2"},"nodeType":"YulExpressionStatement","src":"4899:93:2"},{"nodeType":"YulAssignment","src":"5001:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5012:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5017:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5008:3:2"},"nodeType":"YulFunctionCall","src":"5008:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5001:3:2"}]}]},"name":"abi_encode_t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4794:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4802:3:2","type":""}],"src":"4660:366:2"},{"body":{"nodeType":"YulBlock","src":"5196:238:2","statements":[{"nodeType":"YulAssignment","src":"5206:92:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5290:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5295:2:2","type":"","value":"66"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"5213:76:2"},"nodeType":"YulFunctionCall","src":"5213:85:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5206:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5396:3:2"}],"functionName":{"name":"store_literal_in_memory_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1","nodeType":"YulIdentifier","src":"5307:88:2"},"nodeType":"YulFunctionCall","src":"5307:93:2"},"nodeType":"YulExpressionStatement","src":"5307:93:2"},{"nodeType":"YulAssignment","src":"5409:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5420:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5425:2:2","type":"","value":"66"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5416:3:2"},"nodeType":"YulFunctionCall","src":"5416:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5409:3:2"}]}]},"name":"abi_encode_t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5184:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5192:3:2","type":""}],"src":"5032:402:2"},{"body":{"nodeType":"YulBlock","src":"5604:238:2","statements":[{"nodeType":"YulAssignment","src":"5614:92:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5698:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5703:2:2","type":"","value":"96"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"5621:76:2"},"nodeType":"YulFunctionCall","src":"5621:85:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5614:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5804:3:2"}],"functionName":{"name":"store_literal_in_memory_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a","nodeType":"YulIdentifier","src":"5715:88:2"},"nodeType":"YulFunctionCall","src":"5715:93:2"},"nodeType":"YulExpressionStatement","src":"5715:93:2"},{"nodeType":"YulAssignment","src":"5817:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5828:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5833:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5824:3:2"},"nodeType":"YulFunctionCall","src":"5824:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5817:3:2"}]}]},"name":"abi_encode_t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5592:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5600:3:2","type":""}],"src":"5440:402:2"},{"body":{"nodeType":"YulBlock","src":"5994:220:2","statements":[{"nodeType":"YulAssignment","src":"6004:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6070:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"6075:2:2","type":"","value":"31"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6011:58:2"},"nodeType":"YulFunctionCall","src":"6011:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6004:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6176:3:2"}],"functionName":{"name":"store_literal_in_memory_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a","nodeType":"YulIdentifier","src":"6087:88:2"},"nodeType":"YulFunctionCall","src":"6087:93:2"},"nodeType":"YulExpressionStatement","src":"6087:93:2"},{"nodeType":"YulAssignment","src":"6189:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6200:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"6205:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6196:3:2"},"nodeType":"YulFunctionCall","src":"6196:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6189:3:2"}]}]},"name":"abi_encode_t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5982:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5990:3:2","type":""}],"src":"5848:366:2"},{"body":{"nodeType":"YulBlock","src":"6366:220:2","statements":[{"nodeType":"YulAssignment","src":"6376:74:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6442:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"6447:2:2","type":"","value":"31"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6383:58:2"},"nodeType":"YulFunctionCall","src":"6383:67:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6376:3:2"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6548:3:2"}],"functionName":{"name":"store_literal_in_memory_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6","nodeType":"YulIdentifier","src":"6459:88:2"},"nodeType":"YulFunctionCall","src":"6459:93:2"},"nodeType":"YulExpressionStatement","src":"6459:93:2"},{"nodeType":"YulAssignment","src":"6561:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6572:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"6577:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6568:3:2"},"nodeType":"YulFunctionCall","src":"6568:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6561:3:2"}]}]},"name":"abi_encode_t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6354:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6362:3:2","type":""}],"src":"6220:366:2"},{"body":{"nodeType":"YulBlock","src":"6728:139:2","statements":[{"nodeType":"YulAssignment","src":"6739:102:2","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6828:6:2"},{"name":"pos","nodeType":"YulIdentifier","src":"6837:3:2"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"6746:81:2"},"nodeType":"YulFunctionCall","src":"6746:95:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6739:3:2"}]},{"nodeType":"YulAssignment","src":"6851:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"6858:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6851:3:2"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6707:3:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6713:6:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6724:3:2","type":""}],"src":"6592:275:2"},{"body":{"nodeType":"YulBlock","src":"7062:192:2","statements":[{"nodeType":"YulAssignment","src":"7073:155:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7224:3:2"}],"functionName":{"name":"abi_encode_t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"7080:142:2"},"nodeType":"YulFunctionCall","src":"7080:148:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7073:3:2"}]},{"nodeType":"YulAssignment","src":"7238:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"7245:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7238:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7049:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7058:3:2","type":""}],"src":"6873:381:2"},{"body":{"nodeType":"YulBlock","src":"7449:192:2","statements":[{"nodeType":"YulAssignment","src":"7460:155:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7611:3:2"}],"functionName":{"name":"abi_encode_t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"7467:142:2"},"nodeType":"YulFunctionCall","src":"7467:148:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7460:3:2"}]},{"nodeType":"YulAssignment","src":"7625:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"7632:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7625:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7436:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7445:3:2","type":""}],"src":"7260:381:2"},{"body":{"nodeType":"YulBlock","src":"7836:192:2","statements":[{"nodeType":"YulAssignment","src":"7847:155:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7998:3:2"}],"functionName":{"name":"abi_encode_t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"7854:142:2"},"nodeType":"YulFunctionCall","src":"7854:148:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7847:3:2"}]},{"nodeType":"YulAssignment","src":"8012:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"8019:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8012:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"7823:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7832:3:2","type":""}],"src":"7647:381:2"},{"body":{"nodeType":"YulBlock","src":"8223:192:2","statements":[{"nodeType":"YulAssignment","src":"8234:155:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8385:3:2"}],"functionName":{"name":"abi_encode_t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"8241:142:2"},"nodeType":"YulFunctionCall","src":"8241:148:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8234:3:2"}]},{"nodeType":"YulAssignment","src":"8399:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"8406:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8399:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8210:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8219:3:2","type":""}],"src":"8034:381:2"},{"body":{"nodeType":"YulBlock","src":"8610:192:2","statements":[{"nodeType":"YulAssignment","src":"8621:155:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8772:3:2"}],"functionName":{"name":"abi_encode_t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"8628:142:2"},"nodeType":"YulFunctionCall","src":"8628:148:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8621:3:2"}]},{"nodeType":"YulAssignment","src":"8786:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"8793:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8786:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8597:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8606:3:2","type":""}],"src":"8421:381:2"},{"body":{"nodeType":"YulBlock","src":"8997:192:2","statements":[{"nodeType":"YulAssignment","src":"9008:155:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9159:3:2"}],"functionName":{"name":"abi_encode_t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"9015:142:2"},"nodeType":"YulFunctionCall","src":"9015:148:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9008:3:2"}]},{"nodeType":"YulAssignment","src":"9173:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"9180:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9173:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"8984:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8993:3:2","type":""}],"src":"8808:381:2"},{"body":{"nodeType":"YulBlock","src":"9384:192:2","statements":[{"nodeType":"YulAssignment","src":"9395:155:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9546:3:2"}],"functionName":{"name":"abi_encode_t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"9402:142:2"},"nodeType":"YulFunctionCall","src":"9402:148:2"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9395:3:2"}]},{"nodeType":"YulAssignment","src":"9560:10:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"9567:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9560:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9371:3:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9380:3:2","type":""}],"src":"9195:381:2"},{"body":{"nodeType":"YulBlock","src":"9753:248:2","statements":[{"nodeType":"YulAssignment","src":"9763:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9775:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"9786:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9771:3:2"},"nodeType":"YulFunctionCall","src":"9771:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9763:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9810:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"9821:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9806:3:2"},"nodeType":"YulFunctionCall","src":"9806:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9829:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"9835:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9825:3:2"},"nodeType":"YulFunctionCall","src":"9825:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9799:6:2"},"nodeType":"YulFunctionCall","src":"9799:47:2"},"nodeType":"YulExpressionStatement","src":"9799:47:2"},{"nodeType":"YulAssignment","src":"9855:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"9989:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9863:124:2"},"nodeType":"YulFunctionCall","src":"9863:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9855:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9733:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9748:4:2","type":""}],"src":"9582:419:2"},{"body":{"nodeType":"YulBlock","src":"10178:248:2","statements":[{"nodeType":"YulAssignment","src":"10188:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10200:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"10211:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10196:3:2"},"nodeType":"YulFunctionCall","src":"10196:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10188:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10235:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"10246:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10231:3:2"},"nodeType":"YulFunctionCall","src":"10231:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10254:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"10260:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10250:3:2"},"nodeType":"YulFunctionCall","src":"10250:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10224:6:2"},"nodeType":"YulFunctionCall","src":"10224:47:2"},"nodeType":"YulExpressionStatement","src":"10224:47:2"},{"nodeType":"YulAssignment","src":"10280:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10414:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10288:124:2"},"nodeType":"YulFunctionCall","src":"10288:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10280:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10158:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10173:4:2","type":""}],"src":"10007:419:2"},{"body":{"nodeType":"YulBlock","src":"10603:248:2","statements":[{"nodeType":"YulAssignment","src":"10613:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10625:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"10636:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10621:3:2"},"nodeType":"YulFunctionCall","src":"10621:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10613:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10660:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"10671:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10656:3:2"},"nodeType":"YulFunctionCall","src":"10656:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10679:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"10685:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10675:3:2"},"nodeType":"YulFunctionCall","src":"10675:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10649:6:2"},"nodeType":"YulFunctionCall","src":"10649:47:2"},"nodeType":"YulExpressionStatement","src":"10649:47:2"},{"nodeType":"YulAssignment","src":"10705:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"10839:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"10713:124:2"},"nodeType":"YulFunctionCall","src":"10713:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10705:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10583:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10598:4:2","type":""}],"src":"10432:419:2"},{"body":{"nodeType":"YulBlock","src":"11028:248:2","statements":[{"nodeType":"YulAssignment","src":"11038:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11050:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"11061:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11046:3:2"},"nodeType":"YulFunctionCall","src":"11046:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11038:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11085:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"11096:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11081:3:2"},"nodeType":"YulFunctionCall","src":"11081:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11104:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"11110:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11100:3:2"},"nodeType":"YulFunctionCall","src":"11100:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11074:6:2"},"nodeType":"YulFunctionCall","src":"11074:47:2"},"nodeType":"YulExpressionStatement","src":"11074:47:2"},{"nodeType":"YulAssignment","src":"11130:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11264:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11138:124:2"},"nodeType":"YulFunctionCall","src":"11138:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11130:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11008:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11023:4:2","type":""}],"src":"10857:419:2"},{"body":{"nodeType":"YulBlock","src":"11453:248:2","statements":[{"nodeType":"YulAssignment","src":"11463:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11475:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"11486:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11471:3:2"},"nodeType":"YulFunctionCall","src":"11471:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11463:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11510:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"11521:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11506:3:2"},"nodeType":"YulFunctionCall","src":"11506:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11529:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"11535:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11525:3:2"},"nodeType":"YulFunctionCall","src":"11525:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11499:6:2"},"nodeType":"YulFunctionCall","src":"11499:47:2"},"nodeType":"YulExpressionStatement","src":"11499:47:2"},{"nodeType":"YulAssignment","src":"11555:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11689:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11563:124:2"},"nodeType":"YulFunctionCall","src":"11563:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11555:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11433:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11448:4:2","type":""}],"src":"11282:419:2"},{"body":{"nodeType":"YulBlock","src":"11878:248:2","statements":[{"nodeType":"YulAssignment","src":"11888:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11900:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"11911:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11896:3:2"},"nodeType":"YulFunctionCall","src":"11896:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11888:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11935:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"11946:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11931:3:2"},"nodeType":"YulFunctionCall","src":"11931:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"11954:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"11960:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11950:3:2"},"nodeType":"YulFunctionCall","src":"11950:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11924:6:2"},"nodeType":"YulFunctionCall","src":"11924:47:2"},"nodeType":"YulExpressionStatement","src":"11924:47:2"},{"nodeType":"YulAssignment","src":"11980:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12114:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11988:124:2"},"nodeType":"YulFunctionCall","src":"11988:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11980:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11858:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11873:4:2","type":""}],"src":"11707:419:2"},{"body":{"nodeType":"YulBlock","src":"12303:248:2","statements":[{"nodeType":"YulAssignment","src":"12313:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12325:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"12336:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12321:3:2"},"nodeType":"YulFunctionCall","src":"12321:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12313:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12360:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"12371:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12356:3:2"},"nodeType":"YulFunctionCall","src":"12356:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12379:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"12385:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12375:3:2"},"nodeType":"YulFunctionCall","src":"12375:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12349:6:2"},"nodeType":"YulFunctionCall","src":"12349:47:2"},"nodeType":"YulExpressionStatement","src":"12349:47:2"},{"nodeType":"YulAssignment","src":"12405:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12539:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12413:124:2"},"nodeType":"YulFunctionCall","src":"12413:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12405:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12283:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12298:4:2","type":""}],"src":"12132:419:2"},{"body":{"nodeType":"YulBlock","src":"12728:248:2","statements":[{"nodeType":"YulAssignment","src":"12738:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12750:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"12761:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12746:3:2"},"nodeType":"YulFunctionCall","src":"12746:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12738:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12785:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"12796:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12781:3:2"},"nodeType":"YulFunctionCall","src":"12781:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12804:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"12810:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12800:3:2"},"nodeType":"YulFunctionCall","src":"12800:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12774:6:2"},"nodeType":"YulFunctionCall","src":"12774:47:2"},"nodeType":"YulExpressionStatement","src":"12774:47:2"},{"nodeType":"YulAssignment","src":"12830:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12964:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12838:124:2"},"nodeType":"YulFunctionCall","src":"12838:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12830:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12708:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12723:4:2","type":""}],"src":"12557:419:2"},{"body":{"nodeType":"YulBlock","src":"13153:248:2","statements":[{"nodeType":"YulAssignment","src":"13163:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13175:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"13186:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13171:3:2"},"nodeType":"YulFunctionCall","src":"13171:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13163:4:2"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13210:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"13221:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13206:3:2"},"nodeType":"YulFunctionCall","src":"13206:17:2"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13229:4:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"13235:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13225:3:2"},"nodeType":"YulFunctionCall","src":"13225:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13199:6:2"},"nodeType":"YulFunctionCall","src":"13199:47:2"},"nodeType":"YulExpressionStatement","src":"13199:47:2"},{"nodeType":"YulAssignment","src":"13255:139:2","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13389:4:2"}],"functionName":{"name":"abi_encode_t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13263:124:2"},"nodeType":"YulFunctionCall","src":"13263:131:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13255:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13133:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13148:4:2","type":""}],"src":"12982:419:2"},{"body":{"nodeType":"YulBlock","src":"13466:40:2","statements":[{"nodeType":"YulAssignment","src":"13477:22:2","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13493:5:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13487:5:2"},"nodeType":"YulFunctionCall","src":"13487:12:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"13477:6:2"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"13449:5:2","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"13459:6:2","type":""}],"src":"13407:99:2"},{"body":{"nodeType":"YulBlock","src":"13608:73:2","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13625:3:2"},{"name":"length","nodeType":"YulIdentifier","src":"13630:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13618:6:2"},"nodeType":"YulFunctionCall","src":"13618:19:2"},"nodeType":"YulExpressionStatement","src":"13618:19:2"},{"nodeType":"YulAssignment","src":"13646:29:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13665:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"13670:4:2","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13661:3:2"},"nodeType":"YulFunctionCall","src":"13661:14:2"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"13646:11:2"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13580:3:2","type":""},{"name":"length","nodeType":"YulTypedName","src":"13585:6:2","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"13596:11:2","type":""}],"src":"13512:169:2"},{"body":{"nodeType":"YulBlock","src":"13801:34:2","statements":[{"nodeType":"YulAssignment","src":"13811:18:2","value":{"name":"pos","nodeType":"YulIdentifier","src":"13826:3:2"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"13811:11:2"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13773:3:2","type":""},{"name":"length","nodeType":"YulTypedName","src":"13778:6:2","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"13789:11:2","type":""}],"src":"13687:148:2"},{"body":{"nodeType":"YulBlock","src":"13885:261:2","statements":[{"nodeType":"YulAssignment","src":"13895:25:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13918:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"13900:17:2"},"nodeType":"YulFunctionCall","src":"13900:20:2"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"13895:1:2"}]},{"nodeType":"YulAssignment","src":"13929:25:2","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"13952:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"13934:17:2"},"nodeType":"YulFunctionCall","src":"13934:20:2"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"13929:1:2"}]},{"body":{"nodeType":"YulBlock","src":"14092:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14094:16:2"},"nodeType":"YulFunctionCall","src":"14094:18:2"},"nodeType":"YulExpressionStatement","src":"14094:18:2"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14013:1:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14020:66:2","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"14088:1:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14016:3:2"},"nodeType":"YulFunctionCall","src":"14016:74:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14010:2:2"},"nodeType":"YulFunctionCall","src":"14010:81:2"},"nodeType":"YulIf","src":"14007:2:2"},{"nodeType":"YulAssignment","src":"14124:16:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14135:1:2"},{"name":"y","nodeType":"YulIdentifier","src":"14138:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14131:3:2"},"nodeType":"YulFunctionCall","src":"14131:9:2"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"14124:3:2"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13872:1:2","type":""},{"name":"y","nodeType":"YulTypedName","src":"13875:1:2","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13881:3:2","type":""}],"src":"13841:305:2"},{"body":{"nodeType":"YulBlock","src":"14200:300:2","statements":[{"nodeType":"YulAssignment","src":"14210:25:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14233:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14215:17:2"},"nodeType":"YulFunctionCall","src":"14215:20:2"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"14210:1:2"}]},{"nodeType":"YulAssignment","src":"14244:25:2","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14267:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14249:17:2"},"nodeType":"YulFunctionCall","src":"14249:20:2"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"14244:1:2"}]},{"body":{"nodeType":"YulBlock","src":"14442:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14444:16:2"},"nodeType":"YulFunctionCall","src":"14444:18:2"},"nodeType":"YulExpressionStatement","src":"14444:18:2"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14354:1:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14347:6:2"},"nodeType":"YulFunctionCall","src":"14347:9:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14340:6:2"},"nodeType":"YulFunctionCall","src":"14340:17:2"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14362:1:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14369:66:2","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"x","nodeType":"YulIdentifier","src":"14437:1:2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"14365:3:2"},"nodeType":"YulFunctionCall","src":"14365:74:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14359:2:2"},"nodeType":"YulFunctionCall","src":"14359:81:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14336:3:2"},"nodeType":"YulFunctionCall","src":"14336:105:2"},"nodeType":"YulIf","src":"14333:2:2"},{"nodeType":"YulAssignment","src":"14474:20:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14489:1:2"},{"name":"y","nodeType":"YulIdentifier","src":"14492:1:2"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14485:3:2"},"nodeType":"YulFunctionCall","src":"14485:9:2"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"14474:7:2"}]}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"14183:1:2","type":""},{"name":"y","nodeType":"YulTypedName","src":"14186:1:2","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"14192:7:2","type":""}],"src":"14152:348:2"},{"body":{"nodeType":"YulBlock","src":"14551:146:2","statements":[{"nodeType":"YulAssignment","src":"14561:25:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14584:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14566:17:2"},"nodeType":"YulFunctionCall","src":"14566:20:2"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"14561:1:2"}]},{"nodeType":"YulAssignment","src":"14595:25:2","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14618:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14600:17:2"},"nodeType":"YulFunctionCall","src":"14600:20:2"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"14595:1:2"}]},{"body":{"nodeType":"YulBlock","src":"14642:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"14644:16:2"},"nodeType":"YulFunctionCall","src":"14644:18:2"},"nodeType":"YulExpressionStatement","src":"14644:18:2"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14636:1:2"},{"name":"y","nodeType":"YulIdentifier","src":"14639:1:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14633:2:2"},"nodeType":"YulFunctionCall","src":"14633:8:2"},"nodeType":"YulIf","src":"14630:2:2"},{"nodeType":"YulAssignment","src":"14674:17:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14686:1:2"},{"name":"y","nodeType":"YulIdentifier","src":"14689:1:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14682:3:2"},"nodeType":"YulFunctionCall","src":"14682:9:2"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"14674:4:2"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"14537:1:2","type":""},{"name":"y","nodeType":"YulTypedName","src":"14540:1:2","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"14546:4:2","type":""}],"src":"14506:191:2"},{"body":{"nodeType":"YulBlock","src":"14748:32:2","statements":[{"nodeType":"YulAssignment","src":"14758:16:2","value":{"name":"value","nodeType":"YulIdentifier","src":"14769:5:2"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"14758:7:2"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14730:5:2","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"14740:7:2","type":""}],"src":"14703:77:2"},{"body":{"nodeType":"YulBlock","src":"14835:258:2","statements":[{"nodeType":"YulVariableDeclaration","src":"14845:10:2","value":{"kind":"number","nodeType":"YulLiteral","src":"14854:1:2","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"14849:1:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"14914:63:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"14939:3:2"},{"name":"i","nodeType":"YulIdentifier","src":"14944:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14935:3:2"},"nodeType":"YulFunctionCall","src":"14935:11:2"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"14958:3:2"},{"name":"i","nodeType":"YulIdentifier","src":"14963:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14954:3:2"},"nodeType":"YulFunctionCall","src":"14954:11:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14948:5:2"},"nodeType":"YulFunctionCall","src":"14948:18:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14928:6:2"},"nodeType":"YulFunctionCall","src":"14928:39:2"},"nodeType":"YulExpressionStatement","src":"14928:39:2"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14875:1:2"},{"name":"length","nodeType":"YulIdentifier","src":"14878:6:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14872:2:2"},"nodeType":"YulFunctionCall","src":"14872:13:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14886:19:2","statements":[{"nodeType":"YulAssignment","src":"14888:15:2","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14897:1:2"},{"kind":"number","nodeType":"YulLiteral","src":"14900:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14893:3:2"},"nodeType":"YulFunctionCall","src":"14893:10:2"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"14888:1:2"}]}]},"pre":{"nodeType":"YulBlock","src":"14868:3:2","statements":[]},"src":"14864:113:2"},{"body":{"nodeType":"YulBlock","src":"15011:76:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"15061:3:2"},{"name":"length","nodeType":"YulIdentifier","src":"15066:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15057:3:2"},"nodeType":"YulFunctionCall","src":"15057:16:2"},{"kind":"number","nodeType":"YulLiteral","src":"15075:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15050:6:2"},"nodeType":"YulFunctionCall","src":"15050:27:2"},"nodeType":"YulExpressionStatement","src":"15050:27:2"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14992:1:2"},{"name":"length","nodeType":"YulIdentifier","src":"14995:6:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14989:2:2"},"nodeType":"YulFunctionCall","src":"14989:13:2"},"nodeType":"YulIf","src":"14986:2:2"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"14817:3:2","type":""},{"name":"dst","nodeType":"YulTypedName","src":"14822:3:2","type":""},{"name":"length","nodeType":"YulTypedName","src":"14827:6:2","type":""}],"src":"14786:307:2"},{"body":{"nodeType":"YulBlock","src":"15133:142:2","statements":[{"nodeType":"YulAssignment","src":"15143:25:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15166:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"15148:17:2"},"nodeType":"YulFunctionCall","src":"15148:20:2"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"15143:1:2"}]},{"nodeType":"YulAssignment","src":"15177:25:2","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"15200:1:2"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"15182:17:2"},"nodeType":"YulFunctionCall","src":"15182:20:2"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"15177:1:2"}]},{"body":{"nodeType":"YulBlock","src":"15224:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"15226:16:2"},"nodeType":"YulFunctionCall","src":"15226:18:2"},"nodeType":"YulExpressionStatement","src":"15226:18:2"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"15221:1:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15214:6:2"},"nodeType":"YulFunctionCall","src":"15214:9:2"},"nodeType":"YulIf","src":"15211:2:2"},{"nodeType":"YulAssignment","src":"15255:14:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15264:1:2"},{"name":"y","nodeType":"YulIdentifier","src":"15267:1:2"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"15260:3:2"},"nodeType":"YulFunctionCall","src":"15260:9:2"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"15255:1:2"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"15122:1:2","type":""},{"name":"y","nodeType":"YulTypedName","src":"15125:1:2","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"15131:1:2","type":""}],"src":"15099:176:2"},{"body":{"nodeType":"YulBlock","src":"15309:152:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15326:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15329:77:2","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15319:6:2"},"nodeType":"YulFunctionCall","src":"15319:88:2"},"nodeType":"YulExpressionStatement","src":"15319:88:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15423:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"15426:4:2","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15416:6:2"},"nodeType":"YulFunctionCall","src":"15416:15:2"},"nodeType":"YulExpressionStatement","src":"15416:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15447:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15450:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15440:6:2"},"nodeType":"YulFunctionCall","src":"15440:15:2"},"nodeType":"YulExpressionStatement","src":"15440:15:2"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"15281:180:2"},{"body":{"nodeType":"YulBlock","src":"15495:152:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15512:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15515:77:2","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15505:6:2"},"nodeType":"YulFunctionCall","src":"15505:88:2"},"nodeType":"YulExpressionStatement","src":"15505:88:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15609:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"15612:4:2","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15602:6:2"},"nodeType":"YulFunctionCall","src":"15602:15:2"},"nodeType":"YulExpressionStatement","src":"15602:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15633:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15636:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15626:6:2"},"nodeType":"YulFunctionCall","src":"15626:15:2"},"nodeType":"YulExpressionStatement","src":"15626:15:2"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"15467:180:2"},{"body":{"nodeType":"YulBlock","src":"15759:115:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15781:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"15789:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15777:3:2"},"nodeType":"YulFunctionCall","src":"15777:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"15793:34:2","type":"","value":"01234567890123456789012345678901"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15770:6:2"},"nodeType":"YulFunctionCall","src":"15770:58:2"},"nodeType":"YulExpressionStatement","src":"15770:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"15849:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"15857:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15845:3:2"},"nodeType":"YulFunctionCall","src":"15845:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"15862:4:2","type":"","value":"  "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15838:6:2"},"nodeType":"YulFunctionCall","src":"15838:29:2"},"nodeType":"YulExpressionStatement","src":"15838:29:2"}]},"name":"store_literal_in_memory_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"15751:6:2","type":""}],"src":"15653:221:2"},{"body":{"nodeType":"YulBlock","src":"15986:74:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16008:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16016:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16004:3:2"},"nodeType":"YulFunctionCall","src":"16004:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"16020:32:2","type":"","value":"Expected buffer length to be 5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15997:6:2"},"nodeType":"YulFunctionCall","src":"15997:56:2"},"nodeType":"YulExpressionStatement","src":"15997:56:2"}]},"name":"store_literal_in_memory_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"15978:6:2","type":""}],"src":"15880:180:2"},{"body":{"nodeType":"YulBlock","src":"16172:49:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16194:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16202:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16190:3:2"},"nodeType":"YulFunctionCall","src":"16190:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"16206:7:2","type":"","value":"first"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16183:6:2"},"nodeType":"YulFunctionCall","src":"16183:31:2"},"nodeType":"YulExpressionStatement","src":"16183:31:2"}]},"name":"store_literal_in_memory_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16164:6:2","type":""}],"src":"16066:155:2"},{"body":{"nodeType":"YulBlock","src":"16333:114:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16355:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16363:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16351:3:2"},"nodeType":"YulFunctionCall","src":"16351:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"16367:34:2","type":"","value":"01234567890123456789012345678901"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16344:6:2"},"nodeType":"YulFunctionCall","src":"16344:58:2"},"nodeType":"YulExpressionStatement","src":"16344:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16423:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16431:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16419:3:2"},"nodeType":"YulFunctionCall","src":"16419:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"16436:3:2","type":"","value":" "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16412:6:2"},"nodeType":"YulFunctionCall","src":"16412:28:2"},"nodeType":"YulExpressionStatement","src":"16412:28:2"}]},"name":"store_literal_in_memory_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16325:6:2","type":""}],"src":"16227:220:2"},{"body":{"nodeType":"YulBlock","src":"16559:115:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16581:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16589:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16577:3:2"},"nodeType":"YulFunctionCall","src":"16577:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"16593:34:2","type":"","value":"01234567890123456789012345678901"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16570:6:2"},"nodeType":"YulFunctionCall","src":"16570:58:2"},"nodeType":"YulExpressionStatement","src":"16570:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16649:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16657:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16645:3:2"},"nodeType":"YulFunctionCall","src":"16645:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"16662:4:2","type":"","value":"23"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16638:6:2"},"nodeType":"YulFunctionCall","src":"16638:29:2"},"nodeType":"YulExpressionStatement","src":"16638:29:2"}]},"name":"store_literal_in_memory_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16551:6:2","type":""}],"src":"16453:221:2"},{"body":{"nodeType":"YulBlock","src":"16786:115:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16808:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16816:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16804:3:2"},"nodeType":"YulFunctionCall","src":"16804:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"16820:34:2","type":"","value":"Expected buffer capacity to be 1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16797:6:2"},"nodeType":"YulFunctionCall","src":"16797:58:2"},"nodeType":"YulExpressionStatement","src":"16797:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"16876:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"16884:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16872:3:2"},"nodeType":"YulFunctionCall","src":"16872:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"16889:4:2","type":"","value":"92"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16865:6:2"},"nodeType":"YulFunctionCall","src":"16865:29:2"},"nodeType":"YulExpressionStatement","src":"16865:29:2"}]},"name":"store_literal_in_memory_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"16778:6:2","type":""}],"src":"16680:221:2"},{"body":{"nodeType":"YulBlock","src":"17013:114:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17035:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"17043:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17031:3:2"},"nodeType":"YulFunctionCall","src":"17031:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"17047:34:2","type":"","value":"Expected buffer capacity to be 3"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17024:6:2"},"nodeType":"YulFunctionCall","src":"17024:58:2"},"nodeType":"YulExpressionStatement","src":"17024:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17103:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"17111:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17099:3:2"},"nodeType":"YulFunctionCall","src":"17099:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"17116:3:2","type":"","value":"2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17092:6:2"},"nodeType":"YulFunctionCall","src":"17092:28:2"},"nodeType":"YulExpressionStatement","src":"17092:28:2"}]},"name":"store_literal_in_memory_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17005:6:2","type":""}],"src":"16907:220:2"},{"body":{"nodeType":"YulBlock","src":"17239:75:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17261:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"17269:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17257:3:2"},"nodeType":"YulFunctionCall","src":"17257:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"17273:33:2","type":"","value":"Expected buffer length to be 96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17250:6:2"},"nodeType":"YulFunctionCall","src":"17250:57:2"},"nodeType":"YulExpressionStatement","src":"17250:57:2"}]},"name":"store_literal_in_memory_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17231:6:2","type":""}],"src":"17133:181:2"},{"body":{"nodeType":"YulBlock","src":"17426:71:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17448:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"17456:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17444:3:2"},"nodeType":"YulFunctionCall","src":"17444:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"17460:29:2","type":"","value":"Unexpected buffer contents."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17437:6:2"},"nodeType":"YulFunctionCall","src":"17437:53:2"},"nodeType":"YulExpressionStatement","src":"17437:53:2"}]},"name":"store_literal_in_memory_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17418:6:2","type":""}],"src":"17320:177:2"},{"body":{"nodeType":"YulBlock","src":"17609:57:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17631:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"17639:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17627:3:2"},"nodeType":"YulFunctionCall","src":"17627:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"17643:15:2","type":"","value":"Hello, world!"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17620:6:2"},"nodeType":"YulFunctionCall","src":"17620:39:2"},"nodeType":"YulExpressionStatement","src":"17620:39:2"}]},"name":"store_literal_in_memory_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17601:6:2","type":""}],"src":"17503:163:2"},{"body":{"nodeType":"YulBlock","src":"17778:75:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17800:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"17808:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17796:3:2"},"nodeType":"YulFunctionCall","src":"17796:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"17812:33:2","type":"","value":"Expected buffer length to be 66"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17789:6:2"},"nodeType":"YulFunctionCall","src":"17789:57:2"},"nodeType":"YulExpressionStatement","src":"17789:57:2"}]},"name":"store_literal_in_memory_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17770:6:2","type":""}],"src":"17672:181:2"},{"body":{"nodeType":"YulBlock","src":"17965:114:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17987:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"17995:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17983:3:2"},"nodeType":"YulFunctionCall","src":"17983:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"17999:34:2","type":"","value":"Expected buffer capacity to be 9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17976:6:2"},"nodeType":"YulFunctionCall","src":"17976:58:2"},"nodeType":"YulExpressionStatement","src":"17976:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18055:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18063:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18051:3:2"},"nodeType":"YulFunctionCall","src":"18051:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"18068:3:2","type":"","value":"6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18044:6:2"},"nodeType":"YulFunctionCall","src":"18044:28:2"},"nodeType":"YulExpressionStatement","src":"18044:28:2"}]},"name":"store_literal_in_memory_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17957:6:2","type":""}],"src":"17859:220:2"},{"body":{"nodeType":"YulBlock","src":"18191:184:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18213:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18221:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18209:3:2"},"nodeType":"YulFunctionCall","src":"18209:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"18225:34:2","type":"","value":"01234567890123456789012345678901"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18202:6:2"},"nodeType":"YulFunctionCall","src":"18202:58:2"},"nodeType":"YulExpressionStatement","src":"18202:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18281:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18289:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18277:3:2"},"nodeType":"YulFunctionCall","src":"18277:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"18294:34:2","type":"","value":"                                "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18270:6:2"},"nodeType":"YulFunctionCall","src":"18270:59:2"},"nodeType":"YulExpressionStatement","src":"18270:59:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18350:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18358:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18346:3:2"},"nodeType":"YulFunctionCall","src":"18346:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"18363:4:2","type":"","value":"  "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18339:6:2"},"nodeType":"YulFunctionCall","src":"18339:29:2"},"nodeType":"YulExpressionStatement","src":"18339:29:2"}]},"name":"store_literal_in_memory_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"18183:6:2","type":""}],"src":"18085:290:2"},{"body":{"nodeType":"YulBlock","src":"18487:214:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18509:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18517:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18505:3:2"},"nodeType":"YulFunctionCall","src":"18505:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"18521:34:2","type":"","value":"01234567890123456789012345678901"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18498:6:2"},"nodeType":"YulFunctionCall","src":"18498:58:2"},"nodeType":"YulExpressionStatement","src":"18498:58:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18577:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18585:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18573:3:2"},"nodeType":"YulFunctionCall","src":"18573:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"18590:34:2","type":"","value":"01234567890123456789012345678901"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18566:6:2"},"nodeType":"YulFunctionCall","src":"18566:59:2"},"nodeType":"YulExpressionStatement","src":"18566:59:2"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18646:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18654:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18642:3:2"},"nodeType":"YulFunctionCall","src":"18642:15:2"},{"kind":"string","nodeType":"YulLiteral","src":"18659:34:2","type":"","value":"01234567890123456789012345678901"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18635:6:2"},"nodeType":"YulFunctionCall","src":"18635:59:2"},"nodeType":"YulExpressionStatement","src":"18635:59:2"}]},"name":"store_literal_in_memory_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"18479:6:2","type":""}],"src":"18381:320:2"},{"body":{"nodeType":"YulBlock","src":"18813:75:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18835:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"18843:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18831:3:2"},"nodeType":"YulFunctionCall","src":"18831:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"18847:33:2","type":"","value":"Expected buffer length to be 33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18824:6:2"},"nodeType":"YulFunctionCall","src":"18824:57:2"},"nodeType":"YulExpressionStatement","src":"18824:57:2"}]},"name":"store_literal_in_memory_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"18805:6:2","type":""}],"src":"18707:181:2"},{"body":{"nodeType":"YulBlock","src":"19000:75:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19022:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"19030:1:2","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19018:3:2"},"nodeType":"YulFunctionCall","src":"19018:14:2"},{"kind":"string","nodeType":"YulLiteral","src":"19034:33:2","type":"","value":"Expected buffer length to be 34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19011:6:2"},"nodeType":"YulFunctionCall","src":"19011:57:2"},"nodeType":"YulExpressionStatement","src":"19011:57:2"}]},"name":"store_literal_in_memory_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"18992:6:2","type":""}],"src":"18894:181:2"}]},"contents":"{\n\n    function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n        let length := array_length_t_string_memory_ptr(value)\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n        copy_memory_to_memory(add(value, 0x20), pos, length)\n        end := add(pos, length)\n    }\n\n    function abi_encode_t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 34)\n        store_literal_in_memory_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3(pos)\n        end := add(pos, 34)\n    }\n\n    function abi_encode_t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 30)\n        store_literal_in_memory_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 5)\n        store_literal_in_memory_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d(pos)\n        end := add(pos, 5)\n    }\n\n    function abi_encode_t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 33)\n        store_literal_in_memory_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3(pos)\n        end := add(pos, 33)\n    }\n\n    function abi_encode_t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 34)\n        store_literal_in_memory_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1(pos)\n        end := add(pos, 34)\n    }\n\n    function abi_encode_t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n        store_literal_in_memory_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n        store_literal_in_memory_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n        store_literal_in_memory_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n        store_literal_in_memory_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 13)\n        store_literal_in_memory_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4(pos)\n        end := add(pos, 13)\n    }\n\n    function abi_encode_t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n        store_literal_in_memory_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n        store_literal_in_memory_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5(pos)\n        end := add(pos, 64)\n    }\n\n    function abi_encode_t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 66)\n        store_literal_in_memory_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1(pos)\n        end := add(pos, 66)\n    }\n\n    function abi_encode_t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 96)\n        store_literal_in_memory_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a(pos)\n        end := add(pos, 96)\n    }\n\n    function abi_encode_t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n        store_literal_in_memory_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n        store_literal_in_memory_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n        pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0,  pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n        pos := abi_encode_t_stringliteral_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n        pos := abi_encode_t_stringliteral_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n        pos := abi_encode_t_stringliteral_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n        pos := abi_encode_t_stringliteral_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n        pos := abi_encode_t_stringliteral_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n        pos := abi_encode_t_stringliteral_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_packed_t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n        pos := abi_encode_t_stringliteral_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n        end := pos\n    }\n\n    function abi_encode_tuple_t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function abi_encode_tuple_t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n        tail := add(headStart, 32)\n\n        mstore(add(headStart, 0), sub(tail, headStart))\n        tail := abi_encode_t_stringliteral_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6_to_t_string_memory_ptr_fromStack( tail)\n\n    }\n\n    function array_length_t_string_memory_ptr(value) -> length {\n\n        length := mload(value)\n\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n        mstore(pos, length)\n        updated_pos := add(pos, 0x20)\n    }\n\n    function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n        updated_pos := pos\n    }\n\n    function checked_add_t_uint256(x, y) -> sum {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x > (maxValue - y)\n        if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n        sum := add(x, y)\n    }\n\n    function checked_mul_t_uint256(x, y) -> product {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        // overflow, if x != 0 and y > (maxValue / x)\n        if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n        product := mul(x, y)\n    }\n\n    function checked_sub_t_uint256(x, y) -> diff {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n\n        if lt(x, y) { panic_error_0x11() }\n\n        diff := sub(x, y)\n    }\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function copy_memory_to_memory(src, dst, length) {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length)\n        {\n            // clear end\n            mstore(add(dst, length), 0)\n        }\n    }\n\n    function mod_t_uint256(x, y) -> r {\n        x := cleanup_t_uint256(x)\n        y := cleanup_t_uint256(y)\n        if iszero(y) { panic_error_0x12() }\n        r := mod(x, y)\n    }\n\n    function panic_error_0x11() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n\n    function panic_error_0x12() {\n        mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n        mstore(4, 0x12)\n        revert(0, 0x24)\n    }\n\n    function store_literal_in_memory_25f0829644d33fb9bdb254d5a482fc99647ab1e6f3b4a189a74c81a1a1b7d4f3(memPtr) {\n\n        mstore(add(memPtr, 0), \"01234567890123456789012345678901\")\n\n        mstore(add(memPtr, 32), \"  \")\n\n    }\n\n    function store_literal_in_memory_2ac05e6e0ba850ea37d652aefc728aa80c47a874d7eedaebb9416fc58cd69f45(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer length to be 5\")\n\n    }\n\n    function store_literal_in_memory_692e3fbb06193c3a65b6ccb60c9ec6fb32af21c16d3f6ac10039258c2a5d4d2d(memPtr) {\n\n        mstore(add(memPtr, 0), \"first\")\n\n    }\n\n    function store_literal_in_memory_6c798ff4fa42a8b7dcb73b2cd235ff7e866ec23265f0daf58745eb141bb979d3(memPtr) {\n\n        mstore(add(memPtr, 0), \"01234567890123456789012345678901\")\n\n        mstore(add(memPtr, 32), \" \")\n\n    }\n\n    function store_literal_in_memory_766b1357384e6ce035a7994cb4fbd70cd0f2711e3a4bf2b8cea2d41db00b36c1(memPtr) {\n\n        mstore(add(memPtr, 0), \"01234567890123456789012345678901\")\n\n        mstore(add(memPtr, 32), \"23\")\n\n    }\n\n    function store_literal_in_memory_946f94900062722cda4e83ff3a0784556c26671948265fb34dc15e1736f38db3(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer capacity to be 1\")\n\n        mstore(add(memPtr, 32), \"92\")\n\n    }\n\n    function store_literal_in_memory_979af52106a5f0aa40460daabcd6da6873ae0879e3107422e000817f41a9e79c(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer capacity to be 3\")\n\n        mstore(add(memPtr, 32), \"2\")\n\n    }\n\n    function store_literal_in_memory_9c982722dcc8bd49c063671278238301083016aaa03bbf7846c21a9b83fcb16b(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer length to be 96\")\n\n    }\n\n    function store_literal_in_memory_aea7d5bcda96b99511e5351a11ad5be58598c6e4ea11c49dfd19185976426108(memPtr) {\n\n        mstore(add(memPtr, 0), \"Unexpected buffer contents.\")\n\n    }\n\n    function store_literal_in_memory_b6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4(memPtr) {\n\n        mstore(add(memPtr, 0), \"Hello, world!\")\n\n    }\n\n    function store_literal_in_memory_cdc396b06317f18f9f3ca8e39a21c49b9098e005d8582e5a1b5c54c5ca87cd9f(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer length to be 66\")\n\n    }\n\n    function store_literal_in_memory_d0e0d726b0168425cee2b978330c2e49643f03c51202de5cfd10200e276ae3e5(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer capacity to be 9\")\n\n        mstore(add(memPtr, 32), \"6\")\n\n    }\n\n    function store_literal_in_memory_d90b8cc87f285bf380a23c617827137d1ef2d3635eb4f479582b7a1caafce2a1(memPtr) {\n\n        mstore(add(memPtr, 0), \"01234567890123456789012345678901\")\n\n        mstore(add(memPtr, 32), \"                                \")\n\n        mstore(add(memPtr, 64), \"  \")\n\n    }\n\n    function store_literal_in_memory_e418bf0959a4360e5a0094e89419d7c5bc34bb27ccf781785774fab2b20ace8a(memPtr) {\n\n        mstore(add(memPtr, 0), \"01234567890123456789012345678901\")\n\n        mstore(add(memPtr, 32), \"01234567890123456789012345678901\")\n\n        mstore(add(memPtr, 64), \"01234567890123456789012345678901\")\n\n    }\n\n    function store_literal_in_memory_e478c30a9c194cf5f367187f17041692d462acda8b5d9de63fb75421ba2a562a(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer length to be 33\")\n\n    }\n\n    function store_literal_in_memory_f5b680a7837ca916509386b64759f5206ed2f2ae073a2c5e1b3a3d0892f78cc6(memPtr) {\n\n        mstore(add(memPtr, 0), \"Expected buffer length to be 34\")\n\n    }\n\n}\n","id":2,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100935760003560e01c806355be6b3c1161006657806355be6b3c146100c05780637f277cfb146100ca578063975977e8146100d4578063b3a8e9bf146100de578063fe04a433146100e857610093565b8063257f30e8146100985780632d6fc67f146100a257806340d26e2b146100ac5780635532aa8b146100b6575b600080fd5b6100a06100f2565b005b6100aa610271565b005b6100b4610439565b005b6100be61048e565b005b6100c86105dd565b005b6100d2610769565b005b6100dc6108bc565b005b6100e6610a50565b005b6100f0610bfb565b005b6100fa611123565b610105816000610ea2565b5061014e6040518060400160405280600581526020017f666972737400000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506020816020015114610196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018d90611488565b60405180910390fd5b6005816000015151146101de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d590611448565b60405180910390fd5b6040516020016101ed906113ca565b604051602081830303815290604052805190602001208160000151604051602001610218919061139e565b604051602081830303815290604052805190602001201461026e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610265906114c8565b60405180910390fd5b50565b610279611123565b610284816020610ea2565b506102cd6040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b506103166040518060400160405280600281526020017f323300000000000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b50606081602001511461035e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035590611508565b60405180910390fd5b6022816000015151146103a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039d90611528565b60405180910390fd5b6040516020016103b5906113f4565b6040516020818303038152906040528051906020012081600001516040516020016103e0919061139e565b6040516020818303038152906040528051906020012014610436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042d906114c8565b60405180910390fd5b50565b610441611123565b61045661010082610ea290919063ffffffff16565b5061048a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ea290919063ffffffff16565b5050565b610496611123565b6104a281610100610ea2565b506104eb6040518060400160405280600681526020017f48656c6c6f2c000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b50610500602082610f3790919063ffffffff16565b506105496040518060400160405280600681526020017f776f726c6421000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b5060405160200161055990611409565b604051602081830303815290604052805190602001208160000151604051602001610584919061139e565b60405160208183030381529060405280519060200120146105da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d1906114c8565b60405180910390fd5b50565b6105e5611123565b6105fa61010082610ea290919063ffffffff16565b506106436040518060400160405280600581526020017f48656c6c6f00000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b5061068c6040518060400160405280600281526020017f2c2000000000000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506106d56040518060400160405280600681526020017f776f726c6421000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506040516020016106e590611409565b604051602081830303815290604052805190602001208160000151604051602001610710919061139e565b6040516020818303038152906040528051906020012014610766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075d906114c8565b60405180910390fd5b50565b610771611123565b61077d81610100610ea2565b506107c66040518060400160405280600581526020017f48656c6c6f00000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b506107df612c20600283610fa19092919063ffffffff16565b506108286040518060400160405280600681526020017f776f726c6421000000000000000000000000000000000000000000000000000081525082610f1b90919063ffffffff16565b5060405160200161083890611409565b604051602081830303815290604052805190602001208160000151604051602001610863919061139e565b60405160208183030381529060405280519060200120146108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b0906114c8565b60405180910390fd5b50565b6108c4611123565b6108cf816020610ea2565b506109186040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b5061092d602082610f3790919063ffffffff16565b506060816020015114610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c90611508565b60405180910390fd5b6021816000015151146109bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b490611528565b60405180910390fd5b6040516020016109cc906113df565b6040516020818303038152906040528051906020012081600001516040516020016109f7919061139e565b6040516020818303038152906040528051906020012014610a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a44906114c8565b60405180910390fd5b50565b610a58611123565b610a63816020610ea2565b50610aac6040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b50610ad8604051806060016040528060408152602001611b4c6040913982610f1b90919063ffffffff16565b5060c0816020015114610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1790611468565b60405180910390fd5b606081600001515114610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f906114a8565b60405180910390fd5b604051602001610b7790611433565b604051602081830303815290604052805190602001208160000151604051602001610ba2919061139e565b6040516020818303038152906040528051906020012014610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef906114c8565b60405180910390fd5b50565b610c03611123565b610c0e816020610ea2565b50610c576040518060400160405280602081526020017f303132333435363738393031323334353637383930313233343536373839303181525082610f1b90919063ffffffff16565b50610c70612020600283610fa19092919063ffffffff16565b506060816020015114610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf90611508565b60405180910390fd5b602281600001515114610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790611548565b60405180910390fd5b604051602001610d0f906113b5565b604051602081830303815290604052805190602001208160000151604051602001610d3a919061139e565b6040516020818303038152906040528051906020012014610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d87906114c8565b60405180910390fd5b610dc67f2020202020202020202020202020202020202020202020202020202020202020602083610fa19092919063ffffffff16565b50604281600001515114610e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e06906114e8565b60405180910390fd5b604051602001610e1e9061141e565b604051602081830303815290604052805190602001208160000151604051602001610e49919061139e565b6040516020818303038152906040528051906020012014610e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e96906114c8565b60405180910390fd5b50565b610eaa611123565b6000602083610eb991906116b0565b14610ee557602082610ecb91906116b0565b6020610ed7919061163f565b82610ee2919061158f565b91505b818360200181815250506040518084526000815282810160200181811015610f0c57600080fd5b80604052505082905092915050565b610f23611123565b610f2f8383845161101c565b905092915050565b610f3f611123565b600083600001515190506000600182610f58919061158f565b905084602001518210610f7c57610f7b85600283610f7691906115e5565b6110ff565b5b84516020838201018581538151831115610f94578282525b5050849250505092915050565b610fa9611123565b6000846000015151905060008184610fc1919061158f565b90508560200151811115610fe657610fe586600283610fe091906115e5565b6110ff565b5b60006001856101000a0390508651828101878319825116178152815184111561100d578382525b50505085925050509392505050565b611024611123565b825182111561103257600080fd5b600084600001515190506000838261104a919061158f565b9050856020015181111561106f5761106e8660028361106991906115e5565b6110ff565b5b6000808751805185602083010193508085111561108a578482525b60208901925050505b602086106110d157805182526020826110ac919061158f565b91506020816110bb919061158f565b90506020866110ca919061163f565b9550611093565b60006001876020036101000a0390508019825116818451168181178552505050879450505050509392505050565b6000826000015190506111128383610ea2565b5061111d8382610f1b565b50505050565b604051806040016040528060608152602001600081525090565b600061114882611568565b6111528185611584565b935061116281856020860161167d565b80840191505092915050565b600061117b602283611584565b91506111868261173f565b602282019050919050565b600061119e601e83611573565b91506111a98261178e565b602082019050919050565b60006111c1600583611584565b91506111cc826117b7565b600582019050919050565b60006111e4602183611584565b91506111ef826117e0565b602182019050919050565b6000611207602283611584565b91506112128261182f565b602282019050919050565b600061122a602283611573565b91506112358261187e565b604082019050919050565b600061124d602183611573565b9150611258826118cd565b604082019050919050565b6000611270601f83611573565b915061127b8261191c565b602082019050919050565b6000611293601b83611573565b915061129e82611945565b602082019050919050565b60006112b6600d83611584565b91506112c18261196e565b600d82019050919050565b60006112d9601f83611573565b91506112e482611997565b602082019050919050565b60006112fc602183611573565b9150611307826119c0565b604082019050919050565b600061131f604283611584565b915061132a82611a0f565b604282019050919050565b6000611342606083611584565b915061134d82611a84565b606082019050919050565b6000611365601f83611573565b915061137082611af9565b602082019050919050565b6000611388601f83611573565b915061139382611b22565b602082019050919050565b60006113aa828461113d565b915081905092915050565b60006113c08261116e565b9150819050919050565b60006113d5826111b4565b9150819050919050565b60006113ea826111d7565b9150819050919050565b60006113ff826111fa565b9150819050919050565b6000611414826112a9565b9150819050919050565b600061142982611312565b9150819050919050565b600061143e82611335565b9150819050919050565b6000602082019050818103600083015261146181611191565b9050919050565b600060208201905081810360008301526114818161121d565b9050919050565b600060208201905081810360008301526114a181611240565b9050919050565b600060208201905081810360008301526114c181611263565b9050919050565b600060208201905081810360008301526114e181611286565b9050919050565b60006020820190508181036000830152611501816112cc565b9050919050565b60006020820190508181036000830152611521816112ef565b9050919050565b6000602082019050818103600083015261154181611358565b9050919050565b600060208201905081810360008301526115618161137b565b9050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600061159a82611673565b91506115a583611673565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115da576115d96116e1565b5b828201905092915050565b60006115f082611673565b91506115fb83611673565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611634576116336116e1565b5b828202905092915050565b600061164a82611673565b915061165583611673565b925082821015611668576116676116e1565b5b828203905092915050565b6000819050919050565b60005b8381101561169b578082015181840152602081019050611680565b838111156116aa576000848401525b50505050565b60006116bb82611673565b91506116c683611673565b9250826116d6576116d5611710565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f303132333435363738393031323334353637383930313233343536373839303160008201527f2020000000000000000000000000000000000000000000000000000000000000602082015250565b7f457870656374656420627566666572206c656e67746820746f20626520350000600082015250565b7f6669727374000000000000000000000000000000000000000000000000000000600082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f2000000000000000000000000000000000000000000000000000000000000000602082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f3233000000000000000000000000000000000000000000000000000000000000602082015250565b7f45787065637465642062756666657220636170616369747920746f206265203160008201527f3932000000000000000000000000000000000000000000000000000000000000602082015250565b7f45787065637465642062756666657220636170616369747920746f206265203360008201527f3200000000000000000000000000000000000000000000000000000000000000602082015250565b7f457870656374656420627566666572206c656e67746820746f20626520393600600082015250565b7f556e65787065637465642062756666657220636f6e74656e74732e0000000000600082015250565b7f48656c6c6f2c20776f726c642100000000000000000000000000000000000000600082015250565b7f457870656374656420627566666572206c656e67746820746f20626520363600600082015250565b7f45787065637465642062756666657220636170616369747920746f206265203960008201527f3600000000000000000000000000000000000000000000000000000000000000602082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f202020202020202020202020202020202020202020202020202020202020202060208201527f2020000000000000000000000000000000000000000000000000000000000000604082015250565b7f303132333435363738393031323334353637383930313233343536373839303160008201527f303132333435363738393031323334353637383930313233343536373839303160208201527f3031323334353637383930313233343536373839303132333435363738393031604082015250565b7f457870656374656420627566666572206c656e67746820746f20626520333300600082015250565b7f457870656374656420627566666572206c656e67746820746f2062652033340060008201525056fe30313233343536373839303132333435363738393031323334353637383930313031323334353637383930313233343536373839303132333435363738393031a26469706673582212204fe973680a1c760293439ebcd468042871d927e1f17b6fc8d7120558ad936b6f64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x55BE6B3C GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x55BE6B3C EQ PUSH2 0xC0 JUMPI DUP1 PUSH4 0x7F277CFB EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0x975977E8 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0xB3A8E9BF EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0xFE04A433 EQ PUSH2 0xE8 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x257F30E8 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x2D6FC67F EQ PUSH2 0xA2 JUMPI DUP1 PUSH4 0x40D26E2B EQ PUSH2 0xAC JUMPI DUP1 PUSH4 0x5532AA8B EQ PUSH2 0xB6 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH2 0xF2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xAA PUSH2 0x271 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB4 PUSH2 0x439 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBE PUSH2 0x48E JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC8 PUSH2 0x5DD JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD2 PUSH2 0x769 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xDC PUSH2 0x8BC JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE6 PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xF0 PUSH2 0xBFB JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFA PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x105 DUP2 PUSH1 0x0 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x14E PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6669727374000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x20 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x196 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18D SWAP1 PUSH2 0x1488 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0x1DE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1D5 SWAP1 PUSH2 0x1448 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1ED SWAP1 PUSH2 0x13CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x218 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x26E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x265 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x279 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x284 DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x2CD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x316 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3233000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x35E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x355 SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x22 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0x3A6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x39D SWAP1 PUSH2 0x1528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3B5 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x3E0 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x436 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x42D SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x441 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x456 PUSH2 0x100 DUP3 PUSH2 0xEA2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x48A PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0xEA2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x496 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x4A2 DUP2 PUSH2 0x100 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x4EB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F2C0000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x500 PUSH1 0x20 DUP3 PUSH2 0xF37 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x549 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x776F726C64210000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x559 SWAP1 PUSH2 0x1409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x584 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x5DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D1 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x5E5 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x5FA PUSH2 0x100 DUP3 PUSH2 0xEA2 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x643 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x68C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2C20000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x6D5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x776F726C64210000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x6E5 SWAP1 PUSH2 0x1409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x710 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x766 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x75D SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x771 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x77D DUP2 PUSH2 0x100 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x7C6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x7DF PUSH2 0x2C20 PUSH1 0x2 DUP4 PUSH2 0xFA1 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x828 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x776F726C64210000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x838 SWAP1 PUSH2 0x1409 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x863 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x8B9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B0 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x8C4 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0x8CF DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x918 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0x92D PUSH1 0x20 DUP3 PUSH2 0xF37 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0x975 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x96C SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x21 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0x9BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9B4 SWAP1 PUSH2 0x1528 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9CC SWAP1 PUSH2 0x13DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9F7 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xA4D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA44 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0xA63 DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0xAAC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xAD8 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B4C PUSH1 0x40 SWAP2 CODECOPY DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0xC0 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0xB20 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB17 SWAP1 PUSH2 0x1468 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0xB68 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB5F SWAP1 PUSH2 0x14A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xB77 SWAP1 PUSH2 0x1433 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBA2 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xBF8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBEF SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xC03 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0xC0E DUP2 PUSH1 0x20 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0xC57 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x20 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 DUP2 MSTORE POP DUP3 PUSH2 0xF1B SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH2 0xC70 PUSH2 0x2020 PUSH1 0x2 DUP4 PUSH2 0xFA1 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x60 DUP2 PUSH1 0x20 ADD MLOAD EQ PUSH2 0xCB8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCAF SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x22 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0xD00 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCF7 SWAP1 PUSH2 0x1548 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD0F SWAP1 PUSH2 0x13B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xD3A SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xD90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD87 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xDC6 PUSH32 0x2020202020202020202020202020202020202020202020202020202020202020 PUSH1 0x20 DUP4 PUSH2 0xFA1 SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST POP PUSH1 0x42 DUP2 PUSH1 0x0 ADD MLOAD MLOAD EQ PUSH2 0xE0F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE06 SWAP1 PUSH2 0x14E8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE1E SWAP1 PUSH2 0x141E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE49 SWAP2 SWAP1 PUSH2 0x139E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0xE9F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE96 SWAP1 PUSH2 0x14C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xEAA PUSH2 0x1123 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP4 PUSH2 0xEB9 SWAP2 SWAP1 PUSH2 0x16B0 JUMP JUMPDEST EQ PUSH2 0xEE5 JUMPI PUSH1 0x20 DUP3 PUSH2 0xECB SWAP2 SWAP1 PUSH2 0x16B0 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xED7 SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST DUP3 PUSH2 0xEE2 SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP2 POP JUMPDEST DUP2 DUP4 PUSH1 0x20 ADD DUP2 DUP2 MSTORE POP POP PUSH1 0x40 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 DUP2 MSTORE DUP3 DUP2 ADD PUSH1 0x20 ADD DUP2 DUP2 LT ISZERO PUSH2 0xF0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP DUP3 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF23 PUSH2 0x1123 JUMP JUMPDEST PUSH2 0xF2F DUP4 DUP4 DUP5 MLOAD PUSH2 0x101C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF3F PUSH2 0x1123 JUMP JUMPDEST PUSH1 0x0 DUP4 PUSH1 0x0 ADD MLOAD MLOAD SWAP1 POP PUSH1 0x0 PUSH1 0x1 DUP3 PUSH2 0xF58 SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP DUP5 PUSH1 0x20 ADD MLOAD DUP3 LT PUSH2 0xF7C JUMPI PUSH2 0xF7B DUP6 PUSH1 0x2 DUP4 PUSH2 0xF76 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST JUMPDEST DUP5 MLOAD PUSH1 0x20 DUP4 DUP3 ADD ADD DUP6 DUP2 MSTORE8 DUP2 MLOAD DUP4 GT ISZERO PUSH2 0xF94 JUMPI DUP3 DUP3 MSTORE JUMPDEST POP POP DUP5 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xFA9 PUSH2 0x1123 JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD MLOAD SWAP1 POP PUSH1 0x0 DUP2 DUP5 PUSH2 0xFC1 SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP DUP6 PUSH1 0x20 ADD MLOAD DUP2 GT ISZERO PUSH2 0xFE6 JUMPI PUSH2 0xFE5 DUP7 PUSH1 0x2 DUP4 PUSH2 0xFE0 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP6 PUSH2 0x100 EXP SUB SWAP1 POP DUP7 MLOAD DUP3 DUP2 ADD DUP8 DUP4 NOT DUP3 MLOAD AND OR DUP2 MSTORE DUP2 MLOAD DUP5 GT ISZERO PUSH2 0x100D JUMPI DUP4 DUP3 MSTORE JUMPDEST POP POP POP DUP6 SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1024 PUSH2 0x1123 JUMP JUMPDEST DUP3 MLOAD DUP3 GT ISZERO PUSH2 0x1032 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD MLOAD MLOAD SWAP1 POP PUSH1 0x0 DUP4 DUP3 PUSH2 0x104A SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP DUP6 PUSH1 0x20 ADD MLOAD DUP2 GT ISZERO PUSH2 0x106F JUMPI PUSH2 0x106E DUP7 PUSH1 0x2 DUP4 PUSH2 0x1069 SWAP2 SWAP1 PUSH2 0x15E5 JUMP JUMPDEST PUSH2 0x10FF JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP1 DUP8 MLOAD DUP1 MLOAD DUP6 PUSH1 0x20 DUP4 ADD ADD SWAP4 POP DUP1 DUP6 GT ISZERO PUSH2 0x108A JUMPI DUP5 DUP3 MSTORE JUMPDEST PUSH1 0x20 DUP10 ADD SWAP3 POP POP POP JUMPDEST PUSH1 0x20 DUP7 LT PUSH2 0x10D1 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 PUSH2 0x10AC SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP2 PUSH2 0x10BB SWAP2 SWAP1 PUSH2 0x158F JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP7 PUSH2 0x10CA SWAP2 SWAP1 PUSH2 0x163F JUMP JUMPDEST SWAP6 POP PUSH2 0x1093 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP8 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB SWAP1 POP DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP2 DUP2 OR DUP6 MSTORE POP POP POP DUP8 SWAP5 POP POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x0 ADD MLOAD SWAP1 POP PUSH2 0x1112 DUP4 DUP4 PUSH2 0xEA2 JUMP JUMPDEST POP PUSH2 0x111D DUP4 DUP3 PUSH2 0xF1B JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1148 DUP3 PUSH2 0x1568 JUMP JUMPDEST PUSH2 0x1152 DUP2 DUP6 PUSH2 0x1584 JUMP JUMPDEST SWAP4 POP PUSH2 0x1162 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x167D JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x117B PUSH1 0x22 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x1186 DUP3 PUSH2 0x173F JUMP JUMPDEST PUSH1 0x22 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x119E PUSH1 0x1E DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x11A9 DUP3 PUSH2 0x178E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11C1 PUSH1 0x5 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x11CC DUP3 PUSH2 0x17B7 JUMP JUMPDEST PUSH1 0x5 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11E4 PUSH1 0x21 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x11EF DUP3 PUSH2 0x17E0 JUMP JUMPDEST PUSH1 0x21 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1207 PUSH1 0x22 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x1212 DUP3 PUSH2 0x182F JUMP JUMPDEST PUSH1 0x22 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x122A PUSH1 0x22 DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1235 DUP3 PUSH2 0x187E JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x124D PUSH1 0x21 DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1258 DUP3 PUSH2 0x18CD JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1270 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x127B DUP3 PUSH2 0x191C JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1293 PUSH1 0x1B DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x129E DUP3 PUSH2 0x1945 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12B6 PUSH1 0xD DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x12C1 DUP3 PUSH2 0x196E JUMP JUMPDEST PUSH1 0xD DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12D9 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x12E4 DUP3 PUSH2 0x1997 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12FC PUSH1 0x21 DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1307 DUP3 PUSH2 0x19C0 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x131F PUSH1 0x42 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x132A DUP3 PUSH2 0x1A0F JUMP JUMPDEST PUSH1 0x42 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1342 PUSH1 0x60 DUP4 PUSH2 0x1584 JUMP JUMPDEST SWAP2 POP PUSH2 0x134D DUP3 PUSH2 0x1A84 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1365 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1370 DUP3 PUSH2 0x1AF9 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1388 PUSH1 0x1F DUP4 PUSH2 0x1573 JUMP JUMPDEST SWAP2 POP PUSH2 0x1393 DUP3 PUSH2 0x1B22 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13AA DUP3 DUP5 PUSH2 0x113D JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13C0 DUP3 PUSH2 0x116E JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13D5 DUP3 PUSH2 0x11B4 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13EA DUP3 PUSH2 0x11D7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13FF DUP3 PUSH2 0x11FA JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1414 DUP3 PUSH2 0x12A9 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1429 DUP3 PUSH2 0x1312 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x143E DUP3 PUSH2 0x1335 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1461 DUP2 PUSH2 0x1191 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1481 DUP2 PUSH2 0x121D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14A1 DUP2 PUSH2 0x1240 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14C1 DUP2 PUSH2 0x1263 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14E1 DUP2 PUSH2 0x1286 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1501 DUP2 PUSH2 0x12CC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1521 DUP2 PUSH2 0x12EF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1541 DUP2 PUSH2 0x1358 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1561 DUP2 PUSH2 0x137B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x159A DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x15A5 DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x15DA JUMPI PUSH2 0x15D9 PUSH2 0x16E1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15F0 DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x15FB DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1634 JUMPI PUSH2 0x1633 PUSH2 0x16E1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x164A DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x1655 DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x1668 JUMPI PUSH2 0x1667 PUSH2 0x16E1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x169B JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1680 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x16AA JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16BB DUP3 PUSH2 0x1673 JUMP JUMPDEST SWAP2 POP PUSH2 0x16C6 DUP4 PUSH2 0x1673 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x16D6 JUMPI PUSH2 0x16D5 PUSH2 0x1710 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MOD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2020000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520350000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x6669727374000000000000000000000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3233000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45787065637465642062756666657220636170616369747920746F2062652031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3932000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45787065637465642062756666657220636170616369747920746F2062652033 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3200000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520393600 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E65787065637465642062756666657220636F6E74656E74732E0000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x48656C6C6F2C20776F726C642100000000000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520363600 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45787065637465642062756666657220636170616369747920746F2062652039 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3600000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x2020202020202020202020202020202020202020202020202020202020202020 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x2020000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0x3031323334353637383930313233343536373839303132333435363738393031 PUSH1 0x40 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520333300 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x457870656374656420627566666572206C656E67746820746F20626520333400 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP INVALID ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE ORIGIN CALLER CALLVALUE CALLDATALOAD CALLDATASIZE CALLDATACOPY CODESIZE CODECOPY ADDRESS BALANCE LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4F 0xE9 PUSH20 0x680A1C760293439EBCD468042871D927E1F17B6F 0xC8 0xD7 SLT SDIV PC 0xAD SWAP4 PUSH12 0x6F64736F6C63430008040033 ","sourceMap":"104:4432:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2812:434;;;:::i;:::-;;1620:525;;;:::i;:::-;;167:139;;;:::i;:::-;;679:380;;;:::i;:::-;;312:361;;;:::i;:::-;;3252:362;;;:::i;:::-;;1065:549;;;:::i;:::-;;2151:655;;;:::i;:::-;;3620:914;;;:::i;:::-;;2812:434;2863:24;;:::i;:::-;2895:19;2907:3;2912:1;2895:11;:19::i;:::-;;2922;;;;;;;;;;;;;;;;;;:3;:10;;:19;;;;:::i;:::-;;2973:2;2957:3;:12;;;:18;2949:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3047:1;3029:3;:7;;;:14;:19;3021:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;3166:25;;;;;;;:::i;:::-;;;;;;;;;;;;;3156:36;;;;;;3142:3;:7;;;3118:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;3108:44;;;;;;:84;3091:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;2812:434;:::o;1620:525::-;1679:24;;:::i;:::-;1711:20;1723:3;1728:2;1711:11;:20::i;:::-;;1739:46;;;;;;;;;;;;;;;;;;:3;:10;;:46;;;;:::i;:::-;;1793:16;;;;;;;;;;;;;;;;;;:3;:10;;:16;;;;:::i;:::-;;1841:2;1825:3;:12;;;:18;1817:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1915:2;1897:3;:7;;;:14;:20;1889:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2036:54;;;;;;;:::i;:::-;;;;;;;;;;;;;2026:65;;;;;;2012:3;:7;;;1988:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;1978:44;;;;;;:113;1961:177;;;;;;;;;;;;:::i;:::-;;;;;;;;;1620:525;:::o;167:139::-;224:24;;:::i;:::-;258:13;267:3;258;:8;;:13;;;;:::i;:::-;;281:18;290:8;281:3;:8;;:18;;;;:::i;:::-;;167:139;:::o;679:380::-;734:24;;:::i;:::-;768:21;780:3;785;768:11;:21::i;:::-;;799:20;;;;;;;;;;;;;;;;;;:3;:10;;:20;;;;:::i;:::-;;829:21;845:4;829:3;:15;;:21;;;;:::i;:::-;;860:20;;;;;;;;;;;;;;;;;;:3;:10;;:20;;;;:::i;:::-;;967:33;;;;;;;:::i;:::-;;;;;;;;;;;;;957:44;;;;;;943:3;:7;;;919:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;909:44;;;;;;:92;890:162;;;;;;;;;;;;:::i;:::-;;;;;;;;;679:380;:::o;312:361::-;362:24;;:::i;:::-;396:13;405:3;396;:8;;:13;;;;:::i;:::-;;419:19;;;;;;;;;;;;;;;;;;:3;:10;;:19;;;;:::i;:::-;;448:16;;;;;;;;;;;;;;;;;;:3;:10;;:16;;;;:::i;:::-;;474:20;;;;;;;;;;;;;;;;;;:3;:10;;:20;;;;:::i;:::-;;581:33;;;;;;;:::i;:::-;;;;;;;;;;;;;571:44;;;;;;557:3;:7;;;533:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;523:44;;;;;;:92;504:162;;;;;;;;;;;;:::i;:::-;;;;;;;;;312:361;:::o;3252:362::-;3303:24;;:::i;:::-;3335:21;3347:3;3352;3335:11;:21::i;:::-;;3364:19;;;;;;;;;;;;;;;;;;:3;:10;;:19;;;;:::i;:::-;;3391:24;3405:6;3413:1;3391:3;:13;;:24;;;;;:::i;:::-;;3423:20;;;;;;;;;;;;;;;;;;:3;:10;;:20;;;;:::i;:::-;;3526:33;;;;;;;:::i;:::-;;;;;;;;;;;;;3516:44;;;;;;3502:3;:7;;;3478:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;3468:44;;;;;;:92;3451:156;;;;;;;;;;;;:::i;:::-;;;;;;;;;3252:362;:::o;1065:549::-;1126:24;;:::i;:::-;1160:20;1172:3;1177:2;1160:11;:20::i;:::-;;1190:46;;;;;;;;;;;;;;;;;;:3;:10;;:46;;;;:::i;:::-;;1246:21;1262:4;1246:3;:15;;:21;;;;:::i;:::-;;1301:2;1285:3;:12;;;:18;1277:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1377:2;1359:3;:7;;;:14;:20;1351:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1502:53;;;;;;;:::i;:::-;;;;;;;;;;;;;1492:64;;;;;;1478:3;:7;;;1454:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;1444:44;;;;;;:112;1425:182;;;;;;;;;;;;:::i;:::-;;;;;;;;;1065:549;:::o;2151:655::-;2214:24;;:::i;:::-;2246:20;2258:3;2263:2;2246:11;:20::i;:::-;;2274:46;;;;;;;;;;;;;;;;;;:3;:10;;:46;;;;:::i;:::-;;2328:78;;;;;;;;;;;;;;;;;;:3;:10;;:78;;;;:::i;:::-;;2438:3;2422;:12;;;:19;2414:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2514:2;2496:3;:7;;;:14;:20;2488:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2635:116;;;;;;;:::i;:::-;;;;;;;;;;;;;2625:127;;;;;;2611:3;:7;;;2587:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;2577:44;;;;;;:175;2560:239;;;;;;;;;;;;:::i;:::-;;;;;;;;;2151:655;:::o;3620:914::-;3677:24;;:::i;:::-;3709:20;3721:3;3726:2;3709:11;:20::i;:::-;;3737:46;;;;;;;;;;;;;;;;;;:3;:10;;:46;;;;:::i;:::-;;3791:24;3805:6;3813:1;3791:3;:13;;:24;;;;;:::i;:::-;;3847:2;3831:3;:12;;;:18;3823:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3922:2;3903:3;:7;;;:14;:21;3895:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4043:54;;;;;;;:::i;:::-;;;;;;;;;;;;;4033:65;;;;;;4019:3;:7;;;3995:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;3985:44;;;;;;:113;3968:177;;;;;;;;;;;;:::i;:::-;;;;;;;;;4153:85;4167:66;4235:2;4153:3;:13;;:85;;;;;:::i;:::-;;4272:2;4254:3;:7;;;:14;:20;4246:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4393:86;;;;;;;:::i;:::-;;;;;;;;;;;;;4383:97;;;;;;4369:3;:7;;;4345:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;4335:44;;;;;;:145;4318:209;;;;;;;;;;;;:::i;:::-;;;;;;;;;3620:914;:::o;1020:555:0:-;1090:13;;:::i;:::-;1136:1;1130:2;1119:8;:13;;;;:::i;:::-;:18;1115:81;;1182:2;1171:8;:13;;;;:::i;:::-;1165:2;:20;;;;:::i;:::-;1153:32;;;;;:::i;:::-;;;1115:81;1266:8;1251:3;:12;;:23;;;;;1324:4;1318:11;1354:3;1349;1342:16;1383:1;1378:3;1371:14;1426:8;1421:3;1417:18;1413:2;1409:27;1460:3;1455;1452:12;1449:2;;;1493:1;1490;1483:12;1449:2;1535:3;1529:4;1522:17;1293:256;;1565:3;1558:10;;1020:555;;;;:::o;4539:146::-;4616:13;;:::i;:::-;4648:30;4655:3;4660:4;4666;:11;4648:6;:30::i;:::-;4641:37;;4539:146;;;;:::o;4948:699::-;5022:13;;:::i;:::-;5047:8;5058:3;:7;;;:14;5047:25;;5082:15;5106:1;5100:3;:7;;;;:::i;:::-;5082:25;;5128:3;:12;;;5121:3;:19;5117:77;;5156:27;5163:3;5181:1;5168:10;:14;;;;:::i;:::-;5156:6;:27::i;:::-;5117:77;5296:3;5290:10;5417:2;5411:3;5403:6;5399:16;5395:25;5447:4;5441;5433:19;5543:6;5537:13;5525:10;5522:29;5519:2;;;5585:10;5577:6;5570:26;5519:2;5213:407;;5637:3;5630:10;;;;4948:699;;;;:::o;8083:873::-;8164:13;;:::i;:::-;8189:8;8200:3;:7;;;:14;8189:25;;8224:16;8249:3;8243;:9;;;;:::i;:::-;8224:28;;8280:3;:12;;;8266:11;:26;8262:85;;;8308:28;8315:3;8334:1;8320:11;:15;;;;:::i;:::-;8308:6;:28::i;:::-;8262:85;8381:9;8408:1;8401:3;8394;:10;8393:16;8381:28;;8523:3;8517:10;8650:11;8642:6;8638:24;8724:4;8716;8712:9;8705:4;8699:11;8695:27;8692:37;8686:4;8679:51;8830:6;8824:13;8811:11;8808:30;8805:2;;;8876:11;8868:6;8861:27;8805:2;8432:488;;;8946:3;8939:10;;;;8083:873;;;;;:::o;2844:1427::-;2930:13;;:::i;:::-;2970:4;:11;2963:3;:18;;2955:27;;;;;;2993:8;3004:3;:7;;;:14;2993:25;;3028:16;3053:3;3047;:9;;;;:::i;:::-;3028:28;;3084:3;:12;;;3070:11;:26;3066:85;;;3112:28;3119:3;3138:1;3124:11;:15;;;;:::i;:::-;3112:6;:28::i;:::-;3066:85;3161:9;3180:8;3290:3;3284:10;3373:6;3367:13;3501:3;3496:2;3488:6;3484:15;3480:25;3472:33;;3595:6;3582:11;3579:23;3576:2;;;3636:11;3628:6;3621:27;3576:2;3692;3686:4;3682:13;3675:20;;3207:498;;3765:165;3779:2;3772:3;:9;3765:165;;3854:3;3848:10;3842:4;3835:24;3894:2;3886:10;;;;;:::i;:::-;;;3917:2;3910:9;;;;;:::i;:::-;;;3790:2;3783:9;;;;;:::i;:::-;;;3765:165;;;3996:9;4030:1;4022:3;4017:2;:8;4009:3;:17;4008:23;3996:35;;4107:4;4103:9;4097:3;4091:10;4087:26;4163:4;4156;4150:11;4146:22;4211:7;4201:8;4198:21;4192:4;4185:35;4054:180;;;4261:3;4254:10;;;;;;2844:1427;;;;;:::o;2004:167::-;2077:19;2099:3;:7;;;2077:29;;2116:19;2121:3;2126:8;2116:4;:19::i;:::-;;2145;2152:3;2157:6;2145;:19::i;:::-;;2004:167;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;7:377:2:-;113:3;141:39;174:5;141:39;:::i;:::-;196:89;278:6;273:3;196:89;:::i;:::-;189:96;;294:52;339:6;334:3;327:4;320:5;316:16;294:52;:::i;:::-;371:6;366:3;362:16;355:23;;117:267;;;;;:::o;390:402::-;550:3;571:85;653:2;648:3;571:85;:::i;:::-;564:92;;665:93;754:3;665:93;:::i;:::-;783:2;778:3;774:12;767:19;;554:238;;;:::o;798:366::-;940:3;961:67;1025:2;1020:3;961:67;:::i;:::-;954:74;;1037:93;1126:3;1037:93;:::i;:::-;1155:2;1150:3;1146:12;1139:19;;944:220;;;:::o;1170:400::-;1330:3;1351:84;1433:1;1428:3;1351:84;:::i;:::-;1344:91;;1444:93;1533:3;1444:93;:::i;:::-;1562:1;1557:3;1553:11;1546:18;;1334:236;;;:::o;1576:402::-;1736:3;1757:85;1839:2;1834:3;1757:85;:::i;:::-;1750:92;;1851:93;1940:3;1851:93;:::i;:::-;1969:2;1964:3;1960:12;1953:19;;1740:238;;;:::o;1984:402::-;2144:3;2165:85;2247:2;2242:3;2165:85;:::i;:::-;2158:92;;2259:93;2348:3;2259:93;:::i;:::-;2377:2;2372:3;2368:12;2361:19;;2148:238;;;:::o;2392:366::-;2534:3;2555:67;2619:2;2614:3;2555:67;:::i;:::-;2548:74;;2631:93;2720:3;2631:93;:::i;:::-;2749:2;2744:3;2740:12;2733:19;;2538:220;;;:::o;2764:366::-;2906:3;2927:67;2991:2;2986:3;2927:67;:::i;:::-;2920:74;;3003:93;3092:3;3003:93;:::i;:::-;3121:2;3116:3;3112:12;3105:19;;2910:220;;;:::o;3136:366::-;3278:3;3299:67;3363:2;3358:3;3299:67;:::i;:::-;3292:74;;3375:93;3464:3;3375:93;:::i;:::-;3493:2;3488:3;3484:12;3477:19;;3282:220;;;:::o;3508:366::-;3650:3;3671:67;3735:2;3730:3;3671:67;:::i;:::-;3664:74;;3747:93;3836:3;3747:93;:::i;:::-;3865:2;3860:3;3856:12;3849:19;;3654:220;;;:::o;3880:402::-;4040:3;4061:85;4143:2;4138:3;4061:85;:::i;:::-;4054:92;;4155:93;4244:3;4155:93;:::i;:::-;4273:2;4268:3;4264:12;4257:19;;4044:238;;;:::o;4288:366::-;4430:3;4451:67;4515:2;4510:3;4451:67;:::i;:::-;4444:74;;4527:93;4616:3;4527:93;:::i;:::-;4645:2;4640:3;4636:12;4629:19;;4434:220;;;:::o;4660:366::-;4802:3;4823:67;4887:2;4882:3;4823:67;:::i;:::-;4816:74;;4899:93;4988:3;4899:93;:::i;:::-;5017:2;5012:3;5008:12;5001:19;;4806:220;;;:::o;5032:402::-;5192:3;5213:85;5295:2;5290:3;5213:85;:::i;:::-;5206:92;;5307:93;5396:3;5307:93;:::i;:::-;5425:2;5420:3;5416:12;5409:19;;5196:238;;;:::o;5440:402::-;5600:3;5621:85;5703:2;5698:3;5621:85;:::i;:::-;5614:92;;5715:93;5804:3;5715:93;:::i;:::-;5833:2;5828:3;5824:12;5817:19;;5604:238;;;:::o;5848:366::-;5990:3;6011:67;6075:2;6070:3;6011:67;:::i;:::-;6004:74;;6087:93;6176:3;6087:93;:::i;:::-;6205:2;6200:3;6196:12;6189:19;;5994:220;;;:::o;6220:366::-;6362:3;6383:67;6447:2;6442:3;6383:67;:::i;:::-;6376:74;;6459:93;6548:3;6459:93;:::i;:::-;6577:2;6572:3;6568:12;6561:19;;6366:220;;;:::o;6592:275::-;6724:3;6746:95;6837:3;6828:6;6746:95;:::i;:::-;6739:102;;6858:3;6851:10;;6728:139;;;;:::o;6873:381::-;7058:3;7080:148;7224:3;7080:148;:::i;:::-;7073:155;;7245:3;7238:10;;7062:192;;;:::o;7260:381::-;7445:3;7467:148;7611:3;7467:148;:::i;:::-;7460:155;;7632:3;7625:10;;7449:192;;;:::o;7647:381::-;7832:3;7854:148;7998:3;7854:148;:::i;:::-;7847:155;;8019:3;8012:10;;7836:192;;;:::o;8034:381::-;8219:3;8241:148;8385:3;8241:148;:::i;:::-;8234:155;;8406:3;8399:10;;8223:192;;;:::o;8421:381::-;8606:3;8628:148;8772:3;8628:148;:::i;:::-;8621:155;;8793:3;8786:10;;8610:192;;;:::o;8808:381::-;8993:3;9015:148;9159:3;9015:148;:::i;:::-;9008:155;;9180:3;9173:10;;8997:192;;;:::o;9195:381::-;9380:3;9402:148;9546:3;9402:148;:::i;:::-;9395:155;;9567:3;9560:10;;9384:192;;;:::o;9582:419::-;9748:4;9786:2;9775:9;9771:18;9763:26;;9835:9;9829:4;9825:20;9821:1;9810:9;9806:17;9799:47;9863:131;9989:4;9863:131;:::i;:::-;9855:139;;9753:248;;;:::o;10007:419::-;10173:4;10211:2;10200:9;10196:18;10188:26;;10260:9;10254:4;10250:20;10246:1;10235:9;10231:17;10224:47;10288:131;10414:4;10288:131;:::i;:::-;10280:139;;10178:248;;;:::o;10432:419::-;10598:4;10636:2;10625:9;10621:18;10613:26;;10685:9;10679:4;10675:20;10671:1;10660:9;10656:17;10649:47;10713:131;10839:4;10713:131;:::i;:::-;10705:139;;10603:248;;;:::o;10857:419::-;11023:4;11061:2;11050:9;11046:18;11038:26;;11110:9;11104:4;11100:20;11096:1;11085:9;11081:17;11074:47;11138:131;11264:4;11138:131;:::i;:::-;11130:139;;11028:248;;;:::o;11282:419::-;11448:4;11486:2;11475:9;11471:18;11463:26;;11535:9;11529:4;11525:20;11521:1;11510:9;11506:17;11499:47;11563:131;11689:4;11563:131;:::i;:::-;11555:139;;11453:248;;;:::o;11707:419::-;11873:4;11911:2;11900:9;11896:18;11888:26;;11960:9;11954:4;11950:20;11946:1;11935:9;11931:17;11924:47;11988:131;12114:4;11988:131;:::i;:::-;11980:139;;11878:248;;;:::o;12132:419::-;12298:4;12336:2;12325:9;12321:18;12313:26;;12385:9;12379:4;12375:20;12371:1;12360:9;12356:17;12349:47;12413:131;12539:4;12413:131;:::i;:::-;12405:139;;12303:248;;;:::o;12557:419::-;12723:4;12761:2;12750:9;12746:18;12738:26;;12810:9;12804:4;12800:20;12796:1;12785:9;12781:17;12774:47;12838:131;12964:4;12838:131;:::i;:::-;12830:139;;12728:248;;;:::o;12982:419::-;13148:4;13186:2;13175:9;13171:18;13163:26;;13235:9;13229:4;13225:20;13221:1;13210:9;13206:17;13199:47;13263:131;13389:4;13263:131;:::i;:::-;13255:139;;13153:248;;;:::o;13407:99::-;13459:6;13493:5;13487:12;13477:22;;13466:40;;;:::o;13512:169::-;13596:11;13630:6;13625:3;13618:19;13670:4;13665:3;13661:14;13646:29;;13608:73;;;;:::o;13687:148::-;13789:11;13826:3;13811:18;;13801:34;;;;:::o;13841:305::-;13881:3;13900:20;13918:1;13900:20;:::i;:::-;13895:25;;13934:20;13952:1;13934:20;:::i;:::-;13929:25;;14088:1;14020:66;14016:74;14013:1;14010:81;14007:2;;;14094:18;;:::i;:::-;14007:2;14138:1;14135;14131:9;14124:16;;13885:261;;;;:::o;14152:348::-;14192:7;14215:20;14233:1;14215:20;:::i;:::-;14210:25;;14249:20;14267:1;14249:20;:::i;:::-;14244:25;;14437:1;14369:66;14365:74;14362:1;14359:81;14354:1;14347:9;14340:17;14336:105;14333:2;;;14444:18;;:::i;:::-;14333:2;14492:1;14489;14485:9;14474:20;;14200:300;;;;:::o;14506:191::-;14546:4;14566:20;14584:1;14566:20;:::i;:::-;14561:25;;14600:20;14618:1;14600:20;:::i;:::-;14595:25;;14639:1;14636;14633:8;14630:2;;;14644:18;;:::i;:::-;14630:2;14689:1;14686;14682:9;14674:17;;14551:146;;;;:::o;14703:77::-;14740:7;14769:5;14758:16;;14748:32;;;:::o;14786:307::-;14854:1;14864:113;14878:6;14875:1;14872:13;14864:113;;;14963:1;14958:3;14954:11;14948:18;14944:1;14939:3;14935:11;14928:39;14900:2;14897:1;14893:10;14888:15;;14864:113;;;14995:6;14992:1;14989:13;14986:2;;;15075:1;15066:6;15061:3;15057:16;15050:27;14986:2;14835:258;;;;:::o;15099:176::-;15131:1;15148:20;15166:1;15148:20;:::i;:::-;15143:25;;15182:20;15200:1;15182:20;:::i;:::-;15177:25;;15221:1;15211:2;;15226:18;;:::i;:::-;15211:2;15267:1;15264;15260:9;15255:14;;15133:142;;;;:::o;15281:180::-;15329:77;15326:1;15319:88;15426:4;15423:1;15416:15;15450:4;15447:1;15440:15;15467:180;15515:77;15512:1;15505:88;15612:4;15609:1;15602:15;15636:4;15633:1;15626:15;15653:221;15793:34;15789:1;15781:6;15777:14;15770:58;15862:4;15857:2;15849:6;15845:15;15838:29;15759:115;:::o;15880:180::-;16020:32;16016:1;16008:6;16004:14;15997:56;15986:74;:::o;16066:155::-;16206:7;16202:1;16194:6;16190:14;16183:31;16172:49;:::o;16227:220::-;16367:34;16363:1;16355:6;16351:14;16344:58;16436:3;16431:2;16423:6;16419:15;16412:28;16333:114;:::o;16453:221::-;16593:34;16589:1;16581:6;16577:14;16570:58;16662:4;16657:2;16649:6;16645:15;16638:29;16559:115;:::o;16680:221::-;16820:34;16816:1;16808:6;16804:14;16797:58;16889:4;16884:2;16876:6;16872:15;16865:29;16786:115;:::o;16907:220::-;17047:34;17043:1;17035:6;17031:14;17024:58;17116:3;17111:2;17103:6;17099:15;17092:28;17013:114;:::o;17133:181::-;17273:33;17269:1;17261:6;17257:14;17250:57;17239:75;:::o;17320:177::-;17460:29;17456:1;17448:6;17444:14;17437:53;17426:71;:::o;17503:163::-;17643:15;17639:1;17631:6;17627:14;17620:39;17609:57;:::o;17672:181::-;17812:33;17808:1;17800:6;17796:14;17789:57;17778:75;:::o;17859:220::-;17999:34;17995:1;17987:6;17983:14;17976:58;18068:3;18063:2;18055:6;18051:15;18044:28;17965:114;:::o;18085:290::-;18225:34;18221:1;18213:6;18209:14;18202:58;18294:34;18289:2;18281:6;18277:15;18270:59;18363:4;18358:2;18350:6;18346:15;18339:29;18191:184;:::o;18381:320::-;18521:34;18517:1;18509:6;18505:14;18498:58;18590:34;18585:2;18577:6;18573:15;18566:59;18659:34;18654:2;18646:6;18642:15;18635:59;18487:214;:::o;18707:181::-;18847:33;18843:1;18835:6;18831:14;18824:57;18813:75;:::o;18894:181::-;19034:33;19030:1;19022:6;19018:14;19011:57;19000:75;:::o"},"methodIdentifiers":{"checkBufferInitOverflow()":"40d26e2b","testBufferAppend()":"55be6b3c","testBufferAppendInt()":"7f277cfb","testBufferAppendUint8()":"5532aa8b","testBufferResizeAppendBytes()":"2d6fc67f","testBufferResizeAppendInt()":"fe04a433","testBufferResizeAppendManyBytes()":"b3a8e9bf","testBufferResizeAppendUint8()":"975977e8","testBufferZeroSized()":"257f30e8"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"checkBufferInitOverflow\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferAppend\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferAppendInt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferAppendUint8\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferResizeAppendBytes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferResizeAppendInt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferResizeAppendManyBytes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferResizeAppendUint8\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBufferZeroSized\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TestBuffer.sol\":\"TestBuffer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Buffer.sol\":{\"keccak256\":\"0xd85358722045348893aeedd23539816c9d1b218ab801a3fcd1ec4e38ecc8eb22\",\"license\":\"BSD-2-Clause\",\"urls\":[\"bzz-raw://45d0bfeddca7c391807ca0ff4327668454df95ccadc1c48e0e34bc48e5c60704\",\"dweb:/ipfs/QmPykNMnJpvdxk9uTzyxMd6crVUTgxpHSskU3UyRTPm9cU\"]},\"test/TestBuffer.sol\":{\"keccak256\":\"0xcd411ff4cd2dada2c30532d2645c20550241534c911ed981bfb4efd63790707e\",\"license\":\"BSD-2-Clause\",\"urls\":[\"bzz-raw://69095f3f6e677860c4c7203b5276a8b58094bd023517578fb3a1b0226d9e7bb6\",\"dweb:/ipfs/QmQvpvEfNETzeEuf1AkbeMkEK9LXtbdMrCvsEhN2hkYA4L\"]}},\"version\":1}"}}}}}