{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/forge-std/src/StdUtils.sol":"StdUtils"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a","urls":["bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3","dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/forge-std/src/StdUtils.sol","id":68536,"exportedSymbols":{"IMulticall3":[86195],"StdUtils":[68535],"VmSafe":[69547]},"nodeType":"SourceUnit","src":"32:10067:159","nodes":[{"id":67730,"nodeType":"PragmaDirective","src":"32:31:159","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":67731,"nodeType":"PragmaDirective","src":"65:33:159","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":67733,"nodeType":"ImportDirective","src":"100:57:159","nodes":[],"absolutePath":"node_modules/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":68536,"sourceUnit":86196,"symbolAliases":[{"foreign":{"id":67732,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86195,"src":"108:11:159","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":67735,"nodeType":"ImportDirective","src":"181:32:159","nodes":[],"absolutePath":"node_modules/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":68536,"sourceUnit":69873,"symbolAliases":[{"foreign":{"id":67734,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69547,"src":"189:6:159","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":68535,"nodeType":"ContractDefinition","src":"215:9883:159","nodes":[{"id":67741,"nodeType":"VariableDeclaration","src":"458:96:159","nodes":[],"constant":true,"mutability":"constant","name":"multicall","nameLocation":"487:9:159","scope":68535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$86195","typeString":"contract IMulticall3"},"typeName":{"id":67737,"nodeType":"UserDefinedTypeName","pathNode":{"id":67736,"name":"IMulticall3","nameLocations":["458:11:159"],"nodeType":"IdentifierPath","referencedDeclaration":86195,"src":"458:11:159"},"referencedDeclaration":86195,"src":"458:11:159","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$86195","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":67739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"511:42:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67738,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86195,"src":"499:11:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$86195_$","typeString":"type(contract IMulticall3)"}},"id":67740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"499:55:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$86195","typeString":"contract IMulticall3"}},"visibility":"private"},{"id":67758,"nodeType":"VariableDeclaration","src":"560:92:159","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"584:2:159","scope":68535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$69547","typeString":"contract VmSafe"},"typeName":{"id":67743,"nodeType":"UserDefinedTypeName","pathNode":{"id":67742,"name":"VmSafe","nameLocations":["560:6:159"],"nodeType":"IdentifierPath","referencedDeclaration":69547,"src":"560:6:159"},"referencedDeclaration":69547,"src":"560:6:159","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$69547","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":67752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"630:17:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":67751,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"620:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"620:28:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"612:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67749,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:159","typeDescriptions":{}}},"id":67754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"612:37:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"604:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":67747,"name":"uint160","nodeType":"ElementaryTypeName","src":"604:7:159","typeDescriptions":{}}},"id":67755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"604:46:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":67746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"596:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67745,"name":"address","nodeType":"ElementaryTypeName","src":"596:7:159","typeDescriptions":{}}},"id":67756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"596:55:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67744,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69547,"src":"589:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$69547_$","typeString":"type(contract VmSafe)"}},"id":67757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"589:63:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$69547","typeString":"contract VmSafe"}},"visibility":"private"},{"id":67761,"nodeType":"VariableDeclaration","src":"658:86:159","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"683:16:159","scope":68535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67759,"name":"address","nodeType":"ElementaryTypeName","src":"658:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":67760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"702:42:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":67764,"nodeType":"VariableDeclaration","src":"750:127:159","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN_ABS","nameLocation":"775:14:159","scope":68535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67762,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":67763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"800:77:159","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"visibility":"private"},{"id":67767,"nodeType":"VariableDeclaration","src":"883:125:159","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"908:11:159","scope":68535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67765,"name":"uint256","nodeType":"ElementaryTypeName","src":"883:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":67766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"930:78:159","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":67770,"nodeType":"VariableDeclaration","src":"1127:85:159","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1152:15:159","scope":68535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67768,"name":"address","nodeType":"ElementaryTypeName","src":"1127:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":67769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1170:42:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"private"},{"id":67900,"nodeType":"FunctionDefinition","src":"1434:1263:159","nodes":[],"body":{"id":67899,"nodeType":"Block","src":"1534:1163:159","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67782,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"1552:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67783,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"1559:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1552:10:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":67785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1564:64:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""},"value":"StdUtils bound(uint256,uint256,uint256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""}],"id":67781,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1544:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1544:85:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67787,"nodeType":"ExpressionStatement","src":"1544:85:159"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67788,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"1858:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":67789,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"1863:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1858:8:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67791,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"1870:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67792,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"1875:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1870:8:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1858:20:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67797,"nodeType":"IfStatement","src":"1854:34:159","trueBody":{"expression":{"id":67795,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"1887:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67780,"id":67796,"nodeType":"Return","src":"1880:8:159"}},{"assignments":[67799],"declarations":[{"constant":false,"id":67799,"mutability":"mutable","name":"size","nameLocation":"1907:4:159","nodeType":"VariableDeclaration","scope":67899,"src":"1899:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67798,"name":"uint256","nodeType":"ElementaryTypeName","src":"1899:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67805,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67800,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"1914:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67801,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"1920:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1914:9:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1926:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1914:13:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1899:28:159"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67806,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2117:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"33","id":67807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2122:1:159","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2117:6:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67809,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67799,"src":"2127:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67810,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2134:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2127:8:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2117:18:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67817,"nodeType":"IfStatement","src":"2113:38:159","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67813,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"2144:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67814,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2150:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2144:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67780,"id":67816,"nodeType":"Return","src":"2137:14:159"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":67828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67818,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2165:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":67819,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67767,"src":"2170:11:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33","id":67820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2184:1:159","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2170:15:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2165:20:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67823,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67799,"src":"2189:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67824,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67767,"src":"2196:11:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67825,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2210:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2196:15:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2189:22:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2165:46:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67836,"nodeType":"IfStatement","src":"2161:82:159","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67829,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"2220:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67830,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67767,"src":"2227:11:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67831,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2241:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2227:15:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67833,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2226:17:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2220:23:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67780,"id":67835,"nodeType":"Return","src":"2213:30:159"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67837,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2343:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":67838,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"2347:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2343:7:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67867,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2522:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67868,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"2526:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2522:7:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67897,"nodeType":"IfStatement","src":"2518:173:159","trueBody":{"id":67896,"nodeType":"Block","src":"2531:160:159","statements":[{"assignments":[67871],"declarations":[{"constant":false,"id":67871,"mutability":"mutable","name":"diff","nameLocation":"2553:4:159","nodeType":"VariableDeclaration","scope":67896,"src":"2545:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67870,"name":"uint256","nodeType":"ElementaryTypeName","src":"2545:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67875,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67872,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"2560:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67873,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2566:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2560:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2545:22:159"},{"assignments":[67877],"declarations":[{"constant":false,"id":67877,"mutability":"mutable","name":"rem","nameLocation":"2589:3:159","nodeType":"VariableDeclaration","scope":67896,"src":"2581:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67876,"name":"uint256","nodeType":"ElementaryTypeName","src":"2581:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67881,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67878,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67871,"src":"2595:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":67879,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67799,"src":"2602:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2595:11:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2581:25:159"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67882,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67877,"src":"2624:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2631:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2624:8:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67887,"nodeType":"IfStatement","src":"2620:24:159","trueBody":{"expression":{"id":67885,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"2641:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67780,"id":67886,"nodeType":"Return","src":"2634:10:159"}},{"expression":{"id":67894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67888,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"2658:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67889,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"2667:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67890,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67877,"src":"2673:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2667:9:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":67892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2679:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2667:13:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2658:22:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67895,"nodeType":"ExpressionStatement","src":"2658:22:159"}]}},"id":67898,"nodeType":"IfStatement","src":"2339:352:159","trueBody":{"id":67866,"nodeType":"Block","src":"2352:160:159","statements":[{"assignments":[67841],"declarations":[{"constant":false,"id":67841,"mutability":"mutable","name":"diff","nameLocation":"2374:4:159","nodeType":"VariableDeclaration","scope":67866,"src":"2366:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67840,"name":"uint256","nodeType":"ElementaryTypeName","src":"2366:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67845,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67842,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67772,"src":"2381:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67843,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"2385:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2381:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2366:22:159"},{"assignments":[67847],"declarations":[{"constant":false,"id":67847,"mutability":"mutable","name":"rem","nameLocation":"2410:3:159","nodeType":"VariableDeclaration","scope":67866,"src":"2402:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67846,"name":"uint256","nodeType":"ElementaryTypeName","src":"2402:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67851,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67848,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67841,"src":"2416:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":67849,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67799,"src":"2423:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2416:11:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2402:25:159"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67852,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67847,"src":"2445:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2452:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2445:8:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67857,"nodeType":"IfStatement","src":"2441:24:159","trueBody":{"expression":{"id":67855,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67776,"src":"2462:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67780,"id":67856,"nodeType":"Return","src":"2455:10:159"}},{"expression":{"id":67864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67858,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67779,"src":"2479:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67859,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67774,"src":"2488:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67860,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67847,"src":"2494:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2488:9:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":67862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2500:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2488:13:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2479:22:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67865,"nodeType":"ExpressionStatement","src":"2479:22:159"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"1443:6:159","parameters":{"id":67777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67772,"mutability":"mutable","name":"x","nameLocation":"1458:1:159","nodeType":"VariableDeclaration","scope":67900,"src":"1450:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67771,"name":"uint256","nodeType":"ElementaryTypeName","src":"1450:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67774,"mutability":"mutable","name":"min","nameLocation":"1469:3:159","nodeType":"VariableDeclaration","scope":67900,"src":"1461:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67773,"name":"uint256","nodeType":"ElementaryTypeName","src":"1461:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67776,"mutability":"mutable","name":"max","nameLocation":"1482:3:159","nodeType":"VariableDeclaration","scope":67900,"src":"1474:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67775,"name":"uint256","nodeType":"ElementaryTypeName","src":"1474:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1449:37:159"},"returnParameters":{"id":67780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67779,"mutability":"mutable","name":"result","nameLocation":"1526:6:159","nodeType":"VariableDeclaration","scope":67900,"src":"1518:14:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67778,"name":"uint256","nodeType":"ElementaryTypeName","src":"1518:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1517:16:159"},"scope":68535,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":67925,"nodeType":"FunctionDefinition","src":"2703:190:159","nodes":[],"body":{"id":67924,"nodeType":"Block","src":"2802:91:159","nodes":[],"statements":[{"expression":{"id":67917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67911,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67909,"src":"2812:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67913,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67902,"src":"2828:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67914,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67904,"src":"2831:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":67915,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67906,"src":"2836:3:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67912,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67900,"src":"2821:6:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":67916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2821:19:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2812:28:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67918,"nodeType":"ExpressionStatement","src":"2812:28:159"},{"expression":{"arguments":[{"hexValue":"426f756e6420526573756c74","id":67920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2863:14:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52","typeString":"literal_string \"Bound Result\""},"value":"Bound Result"},{"id":67921,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67909,"src":"2879:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52","typeString":"literal_string \"Bound Result\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67919,"name":"console2_log","nodeType":"Identifier","overloadedDeclarations":[68509,68534],"referencedDeclaration":68509,"src":"2850:12:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":67922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2850:36:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67923,"nodeType":"ExpressionStatement","src":"2850:36:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2712:5:159","parameters":{"id":67907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67902,"mutability":"mutable","name":"x","nameLocation":"2726:1:159","nodeType":"VariableDeclaration","scope":67925,"src":"2718:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67901,"name":"uint256","nodeType":"ElementaryTypeName","src":"2718:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67904,"mutability":"mutable","name":"min","nameLocation":"2737:3:159","nodeType":"VariableDeclaration","scope":67925,"src":"2729:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67903,"name":"uint256","nodeType":"ElementaryTypeName","src":"2729:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":67906,"mutability":"mutable","name":"max","nameLocation":"2750:3:159","nodeType":"VariableDeclaration","scope":67925,"src":"2742:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67905,"name":"uint256","nodeType":"ElementaryTypeName","src":"2742:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2717:37:159"},"returnParameters":{"id":67910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67909,"mutability":"mutable","name":"result","nameLocation":"2794:6:159","nodeType":"VariableDeclaration","scope":67925,"src":"2786:14:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67908,"name":"uint256","nodeType":"ElementaryTypeName","src":"2786:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2785:16:159"},"scope":68535,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68055,"nodeType":"FunctionDefinition","src":"2899:1203:159","nodes":[],"body":{"id":68054,"nodeType":"Block","src":"2994:1108:159","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67937,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"3012:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":67938,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67931,"src":"3019:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3012:10:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":67940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3024:61:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""},"value":"StdUtils bound(int256,int256,int256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""}],"id":67936,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3004:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3004:82:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67942,"nodeType":"ExpressionStatement","src":"3004:82:159"},{"assignments":[67944],"declarations":[{"constant":false,"id":67944,"mutability":"mutable","name":"_x","nameLocation":"3522:2:159","nodeType":"VariableDeclaration","scope":68054,"src":"3514:10:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67943,"name":"uint256","nodeType":"ElementaryTypeName","src":"3514:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67966,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67945,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67927,"src":"3527:1:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":67946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3531:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3527:5:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67960,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67927,"src":"3581:1:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3573:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67958,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:159","typeDescriptions":{}}},"id":67961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3573:10:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67962,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3586:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:27:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67964,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3572:29:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3527:74:159","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67948,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3536:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3553:11:159","subExpression":{"arguments":[{"id":67951,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67927,"src":"3562:1:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3554:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67949,"name":"uint256","nodeType":"ElementaryTypeName","src":"3554:7:159","typeDescriptions":{}}},"id":67952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3554:10:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3536:28:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":67955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3567:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3536:32:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67957,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3535:34:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3514:87:159"},{"assignments":[67968],"declarations":[{"constant":false,"id":67968,"mutability":"mutable","name":"_min","nameLocation":"3619:4:159","nodeType":"VariableDeclaration","scope":68054,"src":"3611:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67967,"name":"uint256","nodeType":"ElementaryTypeName","src":"3611:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67990,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67969,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"3626:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":67970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3632:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3626:7:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67984,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"3684:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3676:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67982,"name":"uint256","nodeType":"ElementaryTypeName","src":"3676:7:159","typeDescriptions":{}}},"id":67985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3676:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67986,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3691:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3676:29:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67988,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3675:31:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3626:80:159","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67972,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3637:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":67977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3654:13:159","subExpression":{"arguments":[{"id":67975,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67929,"src":"3663:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3655:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67973,"name":"uint256","nodeType":"ElementaryTypeName","src":"3655:7:159","typeDescriptions":{}}},"id":67976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3655:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3637:30:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":67979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3670:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3637:34:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67981,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3636:36:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3611:95:159"},{"assignments":[67992],"declarations":[{"constant":false,"id":67992,"mutability":"mutable","name":"_max","nameLocation":"3724:4:159","nodeType":"VariableDeclaration","scope":68054,"src":"3716:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67991,"name":"uint256","nodeType":"ElementaryTypeName","src":"3716:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68014,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67993,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67931,"src":"3731:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":67994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3737:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3731:7:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":68008,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67931,"src":"3789:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":68007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3781:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68006,"name":"uint256","nodeType":"ElementaryTypeName","src":"3781:7:159","typeDescriptions":{}}},"id":68009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3781:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":68010,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3796:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3781:29:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68012,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3780:31:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3731:80:159","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67996,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3742:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3759:13:159","subExpression":{"arguments":[{"id":67999,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67931,"src":"3768:3:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":67998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3760:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67997,"name":"uint256","nodeType":"ElementaryTypeName","src":"3760:7:159","typeDescriptions":{}}},"id":68000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3760:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3742:30:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":68003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3775:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3742:34:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68005,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3741:36:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3716:95:159"},{"assignments":[68016],"declarations":[{"constant":false,"id":68016,"mutability":"mutable","name":"y","nameLocation":"3830:1:159","nodeType":"VariableDeclaration","scope":68054,"src":"3822:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68015,"name":"uint256","nodeType":"ElementaryTypeName","src":"3822:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68022,"initialValue":{"arguments":[{"id":68018,"name":"_x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67944,"src":"3841:2:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68019,"name":"_min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67968,"src":"3845:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":68020,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67992,"src":"3851:4:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68017,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67900,"src":"3834:6:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":68021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3834:22:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3822:34:159"},{"expression":{"id":68044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68023,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67934,"src":"3944:6:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68024,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68016,"src":"3953:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68025,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3957:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3953:18:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68039,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68016,"src":"4017:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68040,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"4021:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4017:18:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4010:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":68037,"name":"int256","nodeType":"ElementaryTypeName","src":"4010:6:159","typeDescriptions":{}}},"id":68042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4010:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":68043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3953:83:159","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3981:21:159","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68029,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67764,"src":"3983:14:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":68030,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68016,"src":"4000:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3983:18:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":68032,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3982:20:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":68034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4005:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3981:25:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3974:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":68027,"name":"int256","nodeType":"ElementaryTypeName","src":"3974:6:159","typeDescriptions":{}}},"id":68036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3974:33:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3944:92:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":68045,"nodeType":"ExpressionStatement","src":"3944:92:159"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":68047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4059:14:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"arguments":[{"id":68050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67934,"src":"4087:6:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":68048,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67758,"src":"4075:2:159","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$69547","typeString":"contract VmSafe"}},"id":68049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4078:8:159","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":69108,"src":"4075:11:159","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":68051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4075:19:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":68046,"name":"console2_log","nodeType":"Identifier","overloadedDeclarations":[68509,68534],"referencedDeclaration":68534,"src":"4046:12:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) view"}},"id":68052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4046:49:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68053,"nodeType":"ExpressionStatement","src":"4046:49:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2908:5:159","parameters":{"id":67932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67927,"mutability":"mutable","name":"x","nameLocation":"2921:1:159","nodeType":"VariableDeclaration","scope":68055,"src":"2914:8:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67926,"name":"int256","nodeType":"ElementaryTypeName","src":"2914:6:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":67929,"mutability":"mutable","name":"min","nameLocation":"2931:3:159","nodeType":"VariableDeclaration","scope":68055,"src":"2924:10:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67928,"name":"int256","nodeType":"ElementaryTypeName","src":"2924:6:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":67931,"mutability":"mutable","name":"max","nameLocation":"2943:3:159","nodeType":"VariableDeclaration","scope":68055,"src":"2936:10:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67930,"name":"int256","nodeType":"ElementaryTypeName","src":"2936:6:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2913:34:159"},"returnParameters":{"id":67935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67934,"mutability":"mutable","name":"result","nameLocation":"2986:6:159","nodeType":"VariableDeclaration","scope":68055,"src":"2979:13:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67933,"name":"int256","nodeType":"ElementaryTypeName","src":"2979:6:159","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2978:15:159"},"scope":68535,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":68089,"nodeType":"FunctionDefinition","src":"4108:259:159","nodes":[],"body":{"id":68088,"nodeType":"Block","src":"4185:182:159","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":68063,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68057,"src":"4203:1:159","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4205:6:159","memberName":"length","nodeType":"MemberAccess","src":"4203:8:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":68065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4215:2:159","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4203:14:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":68067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4219:55:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdUtils bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":68062,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4195:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4195:80:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68069,"nodeType":"ExpressionStatement","src":"4195:80:159"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":68076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4330:2:159","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":68077,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68057,"src":"4335:1:159","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":68078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4337:6:159","memberName":"length","nodeType":"MemberAccess","src":"4335:8:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4330:13:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4320:9:159","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":68074,"name":"bytes","nodeType":"ElementaryTypeName","src":"4324:5:159","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":68080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4320:24:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":68081,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68057,"src":"4346:1:159","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":68072,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4303:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4307:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"4303:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4303:45:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":68084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4351:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68083,"name":"uint256","nodeType":"ElementaryTypeName","src":"4351:7:159","typeDescriptions":{}}}],"id":68085,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4350:9:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":68070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4292:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4296:6:159","memberName":"decode","nodeType":"MemberAccess","src":"4292:10:159","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":68086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4292:68:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":68061,"id":68087,"nodeType":"Return","src":"4285:75:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToUint","nameLocation":"4117:11:159","parameters":{"id":68058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68057,"mutability":"mutable","name":"b","nameLocation":"4142:1:159","nodeType":"VariableDeclaration","scope":68089,"src":"4129:14:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68056,"name":"bytes","nodeType":"ElementaryTypeName","src":"4129:5:159","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4128:16:159"},"returnParameters":{"id":68061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68089,"src":"4176:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68059,"name":"uint256","nodeType":"ElementaryTypeName","src":"4176:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4175:9:159"},"scope":68535,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68274,"nodeType":"FunctionDefinition","src":"4601:1962:159","nodes":[],"body":{"id":68273,"nodeType":"Block","src":"4704:1859:159","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68099,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5030:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783030","id":68100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5039:4:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"src":"5030:13:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68123,"nodeType":"IfStatement","src":"5026:134:159","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786436","id":68108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5114:4:159","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":68107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5107:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68106,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5107:6:159","typeDescriptions":{}}},"id":68109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":68112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5128:4:159","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":68111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5121:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68110,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5121:6:159","typeDescriptions":{}}},"id":68113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5121:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":68114,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68092,"src":"5135:8:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783830","id":68117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5152:4:159","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"id":68116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5145:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68115,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5145:6:159","typeDescriptions":{}}},"id":68118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5145:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":68104,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5090:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5094:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"5090:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5090:68:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68103,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5080:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5080:79:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68102,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"5057:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":68121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5057:103:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68098,"id":68122,"nodeType":"Return","src":"5050:110:159"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68124,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5174:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783766","id":68125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5183:4:159","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7f"},"src":"5174:13:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68148,"nodeType":"IfStatement","src":"5170:134:159","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786436","id":68133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5258:4:159","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":68132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5251:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68131,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5251:6:159","typeDescriptions":{}}},"id":68134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5251:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":68137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5272:4:159","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":68136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5265:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68135,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5265:6:159","typeDescriptions":{}}},"id":68138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5265:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":68139,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68092,"src":"5279:8:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":68142,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5295:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5289:5:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":68140,"name":"uint8","nodeType":"ElementaryTypeName","src":"5289:5:159","typeDescriptions":{}}},"id":68143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":68129,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5234:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5238:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"5234:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5234:68:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68128,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5224:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5224:79:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68127,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"5201:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":68146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5201:103:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68098,"id":68147,"nodeType":"Return","src":"5194:110:159"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68149,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5457:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"id":68154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":68152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5466:1:159","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":68151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5469:1:159","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"5466:4:159","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":68153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5473:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5466:8:159","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}},"src":"5457:17:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68181,"nodeType":"IfStatement","src":"5453:148:159","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786437","id":68162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5541:4:159","typeDescriptions":{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"},"value":"0xd7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"}],"id":68161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5534:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68160,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5534:6:159","typeDescriptions":{}}},"id":68163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5534:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":68166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5555:4:159","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":68165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5548:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68164,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5548:6:159","typeDescriptions":{}}},"id":68167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5548:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":68168,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68092,"src":"5562:8:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783831","id":68171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5579:4:159","typeDescriptions":{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"},"value":"0x81"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"}],"id":68170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5572:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68169,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5572:6:159","typeDescriptions":{}}},"id":68172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5572:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":68175,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5592:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5586:5:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":68173,"name":"uint8","nodeType":"ElementaryTypeName","src":"5586:5:159","typeDescriptions":{}}},"id":68176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5586:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":68158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5517:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5521:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"5517:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5517:82:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68157,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5507:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5507:93:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68156,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"5484:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":68179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5484:117:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68098,"id":68180,"nodeType":"Return","src":"5477:124:159"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68182,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5615:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"id":68187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":68185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5624:1:159","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":68184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5627:2:159","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"5624:5:159","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":68186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5632:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5624:9:159","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"}},"src":"5615:18:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68214,"nodeType":"IfStatement","src":"5611:149:159","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786438","id":68195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5699:4:159","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"0xd8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"}],"id":68194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5692:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68193,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5692:6:159","typeDescriptions":{}}},"id":68196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5692:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":68199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5713:4:159","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":68198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5706:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68197,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5706:6:159","typeDescriptions":{}}},"id":68200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5706:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":68201,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68092,"src":"5720:8:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783832","id":68204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5737:4:159","typeDescriptions":{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"},"value":"0x82"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"}],"id":68203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5730:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68202,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5730:6:159","typeDescriptions":{}}},"id":68205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5730:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":68208,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5751:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5744:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":68206,"name":"uint16","nodeType":"ElementaryTypeName","src":"5744:6:159","typeDescriptions":{}}},"id":68209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5744:13:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint16","typeString":"uint16"}],"expression":{"id":68191,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5675:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5679:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"5675:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5675:83:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68190,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5665:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5665:94:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68189,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"5642:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":68212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5642:118:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68098,"id":68213,"nodeType":"Return","src":"5635:125:159"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68215,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5774:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"},"id":68220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_16777216_by_1","typeString":"int_const 16777216"},"id":68218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":68216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5783:1:159","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3234","id":68217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5786:2:159","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"5783:5:159","typeDescriptions":{"typeIdentifier":"t_rational_16777216_by_1","typeString":"int_const 16777216"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":68219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5791:1:159","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5783:9:159","typeDescriptions":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"}},"src":"5774:18:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68247,"nodeType":"IfStatement","src":"5770:149:159","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786439","id":68228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5858:4:159","typeDescriptions":{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"},"value":"0xd9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"}],"id":68227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5851:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68226,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5851:6:159","typeDescriptions":{}}},"id":68229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5851:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":68232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5872:4:159","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":68231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5865:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68230,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5865:6:159","typeDescriptions":{}}},"id":68233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5865:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":68234,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68092,"src":"5879:8:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783833","id":68237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5896:4:159","typeDescriptions":{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"},"value":"0x83"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"}],"id":68236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5889:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68235,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5889:6:159","typeDescriptions":{}}},"id":68238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5889:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":68241,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"5910:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5903:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":68239,"name":"uint24","nodeType":"ElementaryTypeName","src":"5903:6:159","typeDescriptions":{}}},"id":68242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5903:13:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"id":68224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5834:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5838:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"5834:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5834:83:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68223,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5824:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:94:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68222,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"5801:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":68245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5801:118:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68098,"id":68246,"nodeType":"Return","src":"5794:125:159"}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786461","id":68254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6486:4:159","typeDescriptions":{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"},"value":"0xda"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"}],"id":68253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6479:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68252,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6479:6:159","typeDescriptions":{}}},"id":68255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6479:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":68258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6500:4:159","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":68257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6493:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68256,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6493:6:159","typeDescriptions":{}}},"id":68259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6493:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":68260,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68092,"src":"6507:8:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783834","id":68263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6524:4:159","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":68262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6517:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68261,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6517:6:159","typeDescriptions":{}}},"id":68264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6517:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":68267,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68094,"src":"6538:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6531:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":68265,"name":"uint32","nodeType":"ElementaryTypeName","src":"6531:6:159","typeDescriptions":{}}},"id":68268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6531:13:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":68250,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6462:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6466:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"6462:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6462:83:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68249,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6452:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6452:94:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68248,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"6416:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":68271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:140:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68098,"id":68272,"nodeType":"Return","src":"6409:147:159"}]},"documentation":{"id":68090,"nodeType":"StructuredDocumentation","src":"4373:223:159","text":"@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"4610:20:159","parameters":{"id":68095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68092,"mutability":"mutable","name":"deployer","nameLocation":"4639:8:159","nodeType":"VariableDeclaration","scope":68274,"src":"4631:16:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68091,"name":"address","nodeType":"ElementaryTypeName","src":"4631:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68094,"mutability":"mutable","name":"nonce","nameLocation":"4657:5:159","nodeType":"VariableDeclaration","scope":68274,"src":"4649:13:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68093,"name":"uint256","nodeType":"ElementaryTypeName","src":"4649:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4630:33:159"},"returnParameters":{"id":68098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68274,"src":"4695:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68096,"name":"address","nodeType":"ElementaryTypeName","src":"4695:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4694:9:159"},"scope":68535,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68301,"nodeType":"FunctionDefinition","src":"6569:280:159","nodes":[],"body":{"id":68300,"nodeType":"Block","src":"6730:119:159","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":68291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6804:4:159","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":68290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6797:6:159","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":68289,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6797:6:159","typeDescriptions":{}}},"id":68292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6797:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":68293,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68280,"src":"6811:8:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":68294,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68276,"src":"6821:4:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":68295,"name":"initcodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68278,"src":"6827:12:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":68287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6780:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6784:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"6780:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6780:60:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68286,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6770:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6770:71:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68285,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68484,"src":"6747:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":68298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6747:95:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68284,"id":68299,"nodeType":"Return","src":"6740:102:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"6578:21:159","parameters":{"id":68281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68276,"mutability":"mutable","name":"salt","nameLocation":"6608:4:159","nodeType":"VariableDeclaration","scope":68301,"src":"6600:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6600:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68278,"mutability":"mutable","name":"initcodeHash","nameLocation":"6622:12:159","nodeType":"VariableDeclaration","scope":68301,"src":"6614:20:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6614:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68280,"mutability":"mutable","name":"deployer","nameLocation":"6644:8:159","nodeType":"VariableDeclaration","scope":68301,"src":"6636:16:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68279,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6599:54:159"},"returnParameters":{"id":68284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68301,"src":"6717:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68282,"name":"address","nodeType":"ElementaryTypeName","src":"6717:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6716:9:159"},"scope":68535,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":68318,"nodeType":"FunctionDefinition","src":"6958:181:159","nodes":[],"body":{"id":68317,"nodeType":"Block","src":"7057:82:159","nodes":[],"statements":[{"expression":{"arguments":[{"id":68312,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68304,"src":"7096:4:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":68313,"name":"initCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68306,"src":"7102:12:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":68314,"name":"CREATE2_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67770,"src":"7116:15:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":68311,"name":"computeCreate2Address","nodeType":"Identifier","overloadedDeclarations":[68301,68318],"referencedDeclaration":68301,"src":"7074:21:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (bytes32,bytes32,address) pure returns (address)"}},"id":68315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:58:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68310,"id":68316,"nodeType":"Return","src":"7067:65:159"}]},"documentation":{"id":68302,"nodeType":"StructuredDocumentation","src":"6855:98:159","text":"@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"6967:21:159","parameters":{"id":68307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68304,"mutability":"mutable","name":"salt","nameLocation":"6997:4:159","nodeType":"VariableDeclaration","scope":68318,"src":"6989:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6989:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":68306,"mutability":"mutable","name":"initCodeHash","nameLocation":"7011:12:159","nodeType":"VariableDeclaration","scope":68318,"src":"7003:20:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7003:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6988:36:159"},"returnParameters":{"id":68310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68318,"src":"7048:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68308,"name":"address","nodeType":"ElementaryTypeName","src":"7048:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7047:9:159"},"scope":68535,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":68332,"nodeType":"FunctionDefinition","src":"7363:135:159","nodes":[],"body":{"id":68331,"nodeType":"Block","src":"7444:54:159","nodes":[],"statements":[{"expression":{"arguments":[{"id":68327,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68321,"src":"7474:12:159","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":68328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7488:2:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":68326,"name":"hashInitCode","nodeType":"Identifier","overloadedDeclarations":[68332,68351],"referencedDeclaration":68351,"src":"7461:12:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes32)"}},"id":68329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7461:30:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":68325,"id":68330,"nodeType":"Return","src":"7454:37:159"}]},"documentation":{"id":68319,"nodeType":"StructuredDocumentation","src":"7145:213:159","text":"@dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"7372:12:159","parameters":{"id":68322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68321,"mutability":"mutable","name":"creationCode","nameLocation":"7398:12:159","nodeType":"VariableDeclaration","scope":68332,"src":"7385:25:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68320,"name":"bytes","nodeType":"ElementaryTypeName","src":"7385:5:159","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7384:27:159"},"returnParameters":{"id":68325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68332,"src":"7435:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7435:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7434:9:159"},"scope":68535,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":68351,"nodeType":"FunctionDefinition","src":"7771:171:159","nodes":[],"body":{"id":68350,"nodeType":"Block","src":"7871:71:159","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":68345,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68335,"src":"7915:12:159","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":68346,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68337,"src":"7929:4:159","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":68343,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7898:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7902:12:159","memberName":"encodePacked","nodeType":"MemberAccess","src":"7898:16:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":68347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7898:36:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":68342,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7888:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":68348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7888:47:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":68341,"id":68349,"nodeType":"Return","src":"7881:54:159"}]},"documentation":{"id":68333,"nodeType":"StructuredDocumentation","src":"7504:262:159","text":"@dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n @param args the ABI-encoded arguments to the constructor of C"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"7780:12:159","parameters":{"id":68338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68335,"mutability":"mutable","name":"creationCode","nameLocation":"7806:12:159","nodeType":"VariableDeclaration","scope":68351,"src":"7793:25:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68334,"name":"bytes","nodeType":"ElementaryTypeName","src":"7793:5:159","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":68337,"mutability":"mutable","name":"args","nameLocation":"7833:4:159","nodeType":"VariableDeclaration","scope":68351,"src":"7820:17:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":68336,"name":"bytes","nodeType":"ElementaryTypeName","src":"7820:5:159","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7792:46:159"},"returnParameters":{"id":68341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68351,"src":"7862:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7862:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7861:9:159"},"scope":68535,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":68465,"nodeType":"FunctionDefinition","src":"8053:1124:159","nodes":[],"body":{"id":68464,"nodeType":"Block","src":"8203:974:159","nodes":[],"statements":[{"assignments":[68363],"declarations":[{"constant":false,"id":68363,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"8221:13:159","nodeType":"VariableDeclaration","scope":68464,"src":"8213:21:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68362,"name":"uint256","nodeType":"ElementaryTypeName","src":"8213:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68364,"nodeType":"VariableDeclarationStatement","src":"8213:21:159"},{"AST":{"nativeSrc":"8253:59:159","nodeType":"YulBlock","src":"8253:59:159","statements":[{"nativeSrc":"8267:35:159","nodeType":"YulAssignment","src":"8267:35:159","value":{"arguments":[{"name":"token","nativeSrc":"8296:5:159","nodeType":"YulIdentifier","src":"8296:5:159"}],"functionName":{"name":"extcodesize","nativeSrc":"8284:11:159","nodeType":"YulIdentifier","src":"8284:11:159"},"nativeSrc":"8284:18:159","nodeType":"YulFunctionCall","src":"8284:18:159"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"8267:13:159","nodeType":"YulIdentifier","src":"8267:13:159"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":68353,"isOffset":false,"isSlot":false,"src":"8296:5:159","valueSize":1},{"declaration":68363,"isOffset":false,"isSlot":false,"src":"8267:13:159","valueSize":1}],"id":68365,"nodeType":"InlineAssembly","src":"8244:68:159"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68367,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68363,"src":"8329:13:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":68368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8345:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8329:17:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":68370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8348:80:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""},"value":"StdUtils getTokenBalances(address,address[]): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""}],"id":68366,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8321:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8321:108:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68372,"nodeType":"ExpressionStatement","src":"8321:108:159"},{"assignments":[68374],"declarations":[{"constant":false,"id":68374,"mutability":"mutable","name":"length","nameLocation":"8504:6:159","nodeType":"VariableDeclaration","scope":68464,"src":"8496:14:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68373,"name":"uint256","nodeType":"ElementaryTypeName","src":"8496:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68377,"initialValue":{"expression":{"id":68375,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68356,"src":"8513:9:159","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":68376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8523:6:159","memberName":"length","nodeType":"MemberAccess","src":"8513:16:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8496:33:159"},{"assignments":[68383],"declarations":[{"constant":false,"id":68383,"mutability":"mutable","name":"calls","nameLocation":"8565:5:159","nodeType":"VariableDeclaration","scope":68464,"src":"8539:31:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$86040_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":68381,"nodeType":"UserDefinedTypeName","pathNode":{"id":68380,"name":"IMulticall3.Call","nameLocations":["8539:11:159","8551:4:159"],"nodeType":"IdentifierPath","referencedDeclaration":86040,"src":"8539:16:159"},"referencedDeclaration":86040,"src":"8539:16:159","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$86040_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":68382,"nodeType":"ArrayTypeName","src":"8539:18:159","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$86040_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"id":68390,"initialValue":{"arguments":[{"id":68388,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68374,"src":"8596:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8573:22:159","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$86040_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call memory[] memory)"},"typeName":{"baseType":{"id":68385,"nodeType":"UserDefinedTypeName","pathNode":{"id":68384,"name":"IMulticall3.Call","nameLocations":["8577:11:159","8589:4:159"],"nodeType":"IdentifierPath","referencedDeclaration":86040,"src":"8577:16:159"},"referencedDeclaration":86040,"src":"8577:16:159","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$86040_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":68386,"nodeType":"ArrayTypeName","src":"8577:18:159","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$86040_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}}},"id":68389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8573:30:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$86040_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8539:64:159"},{"body":{"id":68418,"nodeType":"Block","src":"8650:189:159","statements":[{"expression":{"id":68416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68401,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68383,"src":"8722:5:159","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$86040_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"id":68403,"indexExpression":{"id":68402,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68392,"src":"8728:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8722:8:159","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$86040_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68406,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68353,"src":"8759:5:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783730613038323331","id":68409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8799:10:159","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"components":[{"baseExpression":{"id":68410,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68356,"src":"8812:9:159","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":68412,"indexExpression":{"id":68411,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68392,"src":"8822:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8812:12:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":68413,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8811:14:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":68407,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8776:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8780:18:159","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8776:22:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":68414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8776:50:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":68404,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86195,"src":"8733:11:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$86195_$","typeString":"type(contract IMulticall3)"}},"id":68405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8745:4:159","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":86040,"src":"8733:16:159","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$86040_storage_ptr_$","typeString":"type(struct IMulticall3.Call storage pointer)"}},"id":68415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8751:6:159","8766:8:159"],"names":["target","callData"],"nodeType":"FunctionCall","src":"8733:95:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$86040_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"src":"8722:106:159","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$86040_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"id":68417,"nodeType":"ExpressionStatement","src":"8722:106:159"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68395,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68392,"src":"8633:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68396,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68374,"src":"8637:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8633:10:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68419,"initializationExpression":{"assignments":[68392],"declarations":[{"constant":false,"id":68392,"mutability":"mutable","name":"i","nameLocation":"8626:1:159","nodeType":"VariableDeclaration","scope":68419,"src":"8618:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68391,"name":"uint256","nodeType":"ElementaryTypeName","src":"8618:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68394,"initialValue":{"hexValue":"30","id":68393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8630:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8618:13:159"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":68399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"8645:3:159","subExpression":{"id":68398,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68392,"src":"8647:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68400,"nodeType":"ExpressionStatement","src":"8645:3:159"},"nodeType":"ForStatement","src":"8613:226:159"},{"assignments":[null,68424],"declarations":[null,{"constant":false,"id":68424,"mutability":"mutable","name":"returnData","nameLocation":"8903:10:159","nodeType":"VariableDeclaration","scope":68464,"src":"8888:25:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":68422,"name":"bytes","nodeType":"ElementaryTypeName","src":"8888:5:159","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":68423,"nodeType":"ArrayTypeName","src":"8888:7:159","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":68429,"initialValue":{"arguments":[{"id":68427,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68383,"src":"8937:5:159","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$86040_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$86040_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}],"expression":{"id":68425,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67741,"src":"8917:9:159","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$86195","typeString":"contract IMulticall3"}},"id":68426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8927:9:159","memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":86073,"src":"8917:19:159","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$86040_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct IMulticall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":68428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8917:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"8885:58:159"},{"expression":{"id":68436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":68430,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"9017:8:159","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":68434,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68374,"src":"9042:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9028:13:159","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":68431,"name":"uint256","nodeType":"ElementaryTypeName","src":"9032:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68432,"nodeType":"ArrayTypeName","src":"9032:9:159","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":68435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9028:21:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"9017:32:159","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68437,"nodeType":"ExpressionStatement","src":"9017:32:159"},{"body":{"id":68462,"nodeType":"Block","src":"9096:75:159","statements":[{"expression":{"id":68460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":68448,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68360,"src":"9110:8:159","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":68450,"indexExpression":{"id":68449,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68439,"src":"9119:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9110:11:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":68453,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68424,"src":"9135:10:159","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":68455,"indexExpression":{"id":68454,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68439,"src":"9146:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9135:13:159","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":68457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9151:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68456,"name":"uint256","nodeType":"ElementaryTypeName","src":"9151:7:159","typeDescriptions":{}}}],"id":68458,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9150:9:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":68451,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9124:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9128:6:159","memberName":"decode","nodeType":"MemberAccess","src":"9124:10:159","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":68459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9124:36:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9110:50:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68461,"nodeType":"ExpressionStatement","src":"9110:50:159"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":68444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":68442,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68439,"src":"9079:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":68443,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68374,"src":"9083:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9079:10:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68463,"initializationExpression":{"assignments":[68439],"declarations":[{"constant":false,"id":68439,"mutability":"mutable","name":"i","nameLocation":"9072:1:159","nodeType":"VariableDeclaration","scope":68463,"src":"9064:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68438,"name":"uint256","nodeType":"ElementaryTypeName","src":"9064:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":68441,"initialValue":{"hexValue":"30","id":68440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9076:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9064:13:159"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":68446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"9091:3:159","subExpression":{"id":68445,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68439,"src":"9093:1:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68447,"nodeType":"ExpressionStatement","src":"9091:3:159"},"nodeType":"ForStatement","src":"9059:112:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getTokenBalances","nameLocation":"8062:16:159","parameters":{"id":68357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68353,"mutability":"mutable","name":"token","nameLocation":"8087:5:159","nodeType":"VariableDeclaration","scope":68465,"src":"8079:13:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68352,"name":"address","nodeType":"ElementaryTypeName","src":"8079:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68356,"mutability":"mutable","name":"addresses","nameLocation":"8111:9:159","nodeType":"VariableDeclaration","scope":68465,"src":"8094:26:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":68354,"name":"address","nodeType":"ElementaryTypeName","src":"8094:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68355,"nodeType":"ArrayTypeName","src":"8094:9:159","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8078:43:159"},"returnParameters":{"id":68361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68360,"mutability":"mutable","name":"balances","nameLocation":"8189:8:159","nodeType":"VariableDeclaration","scope":68465,"src":"8172:25:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":68358,"name":"uint256","nodeType":"ElementaryTypeName","src":"8172:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":68359,"nodeType":"ArrayTypeName","src":"8172:9:159","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8171:27:159"},"scope":68535,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":68484,"nodeType":"FunctionDefinition","src":"9397:144:159","nodes":[],"body":{"id":68483,"nodeType":"Block","src":"9480:61:159","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":68478,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68467,"src":"9521:10:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":68477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9513:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":68476,"name":"uint256","nodeType":"ElementaryTypeName","src":"9513:7:159","typeDescriptions":{}}},"id":68479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9513:19:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":68475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9505:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":68474,"name":"uint160","nodeType":"ElementaryTypeName","src":"9505:7:159","typeDescriptions":{}}},"id":68480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9505:28:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":68473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9497:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68472,"name":"address","nodeType":"ElementaryTypeName","src":"9497:7:159","typeDescriptions":{}}},"id":68481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9497:37:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":68471,"id":68482,"nodeType":"Return","src":"9490:44:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"addressFromLast20Bytes","nameLocation":"9406:22:159","parameters":{"id":68468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68467,"mutability":"mutable","name":"bytesValue","nameLocation":"9437:10:159","nodeType":"VariableDeclaration","scope":68484,"src":"9429:18:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":68466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9429:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9428:20:159"},"returnParameters":{"id":68471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":68484,"src":"9471:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68469,"name":"address","nodeType":"ElementaryTypeName","src":"9471:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9470:9:159"},"scope":68535,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":68509,"nodeType":"FunctionDefinition","src":"9671:207:159","nodes":[],"body":{"id":68508,"nodeType":"Block","src":"9736:142:159","nodes":[],"statements":[{"assignments":[68492,null],"declarations":[{"constant":false,"id":68492,"mutability":"mutable","name":"status","nameLocation":"9752:6:159","nodeType":"VariableDeclaration","scope":68508,"src":"9747:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68491,"name":"bool","nodeType":"ElementaryTypeName","src":"9747:4:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":68505,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":68500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9824:21:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":68501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68486,"src":"9847:2:159","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":68502,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68488,"src":"9851:2:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":68498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9800:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9804:19:159","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9800:23:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":68503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9800:54:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":68495,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67761,"src":"9771:16:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9763:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68493,"name":"address","nodeType":"ElementaryTypeName","src":"9763:7:159","typeDescriptions":{}}},"id":68496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9763:25:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9789:10:159","memberName":"staticcall","nodeType":"MemberAccess","src":"9763:36:159","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":68504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9763:92:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9746:109:159"},{"expression":{"id":68506,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68492,"src":"9865:6:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68507,"nodeType":"ExpressionStatement","src":"9865:6:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log","nameLocation":"9680:12:159","parameters":{"id":68489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68486,"mutability":"mutable","name":"p0","nameLocation":"9707:2:159","nodeType":"VariableDeclaration","scope":68509,"src":"9693:16:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68485,"name":"string","nodeType":"ElementaryTypeName","src":"9693:6:159","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68488,"mutability":"mutable","name":"p1","nameLocation":"9719:2:159","nodeType":"VariableDeclaration","scope":68509,"src":"9711:10:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":68487,"name":"uint256","nodeType":"ElementaryTypeName","src":"9711:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9692:30:159"},"returnParameters":{"id":68490,"nodeType":"ParameterList","parameters":[],"src":"9736:0:159"},"scope":68535,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":68534,"nodeType":"FunctionDefinition","src":"9884:212:159","nodes":[],"body":{"id":68533,"nodeType":"Block","src":"9955:141:159","nodes":[],"statements":[{"assignments":[68517,null],"declarations":[{"constant":false,"id":68517,"mutability":"mutable","name":"status","nameLocation":"9971:6:159","nodeType":"VariableDeclaration","scope":68533,"src":"9966:11:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":68516,"name":"bool","nodeType":"ElementaryTypeName","src":"9966:4:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":68530,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":68525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10043:20:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":68526,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68511,"src":"10065:2:159","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":68527,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68513,"src":"10069:2:159","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":68523,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10019:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":68524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10023:19:159","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10019:23:159","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":68528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10019:53:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":68520,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67761,"src":"9990:16:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":68519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9982:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":68518,"name":"address","nodeType":"ElementaryTypeName","src":"9982:7:159","typeDescriptions":{}}},"id":68521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9982:25:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":68522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10008:10:159","memberName":"staticcall","nodeType":"MemberAccess","src":"9982:36:159","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":68529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9982:91:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9965:108:159"},{"expression":{"id":68531,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68517,"src":"10083:6:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":68532,"nodeType":"ExpressionStatement","src":"10083:6:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log","nameLocation":"9893:12:159","parameters":{"id":68514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":68511,"mutability":"mutable","name":"p0","nameLocation":"9920:2:159","nodeType":"VariableDeclaration","scope":68534,"src":"9906:16:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68510,"name":"string","nodeType":"ElementaryTypeName","src":"9906:6:159","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":68513,"mutability":"mutable","name":"p1","nameLocation":"9938:2:159","nodeType":"VariableDeclaration","scope":68534,"src":"9924:16:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68512,"name":"string","nodeType":"ElementaryTypeName","src":"9924:6:159","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9905:36:159"},"returnParameters":{"id":68515,"nodeType":"ParameterList","parameters":[],"src":"9955:0:159"},"scope":68535,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdUtils","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[68535],"name":"StdUtils","nameLocation":"233:8:159","scope":68536,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":159}