polytone-evm 0.3.0

Core interfaces for Polytone Interchain accounts and queries.
Documentation
1
{"abi":[{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212207bb87b79f7b2e3777542fd8201a6ebadde0474b7469acf65c7e109dbaf3c059364736f6c63430008180033","sourceMap":"450:12307:6:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212207bb87b79f7b2e3777542fd8201a6ebadde0474b7469acf65c7e109dbaf3c059364736f6c63430008180033","sourceMap":"450:12307:6:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xfd9e719ff0673fdd8ff83bbe72ee8cae0273d61937d27fde5d9159d9849233f4\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b14aaef0d76f2e5257e4e3ab33895d5260d4c7707ff4d37fea1f31d25c8684a8\",\"dweb:/ipfs/QmRd6BMh4FNDPW8Niy4TU2XrtKqAc6GRTfw8xjSwpQ42Gy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"who","type":"address","indexed":false},{"internalType":"bytes4","name":"fsig","type":"bytes4","indexed":false},{"internalType":"bytes32","name":"keysHash","type":"bytes32","indexed":false},{"internalType":"uint256","name":"slot","type":"uint256","indexed":false}],"type":"event","name":"SlotFound","anonymous":false},{"inputs":[{"internalType":"address","name":"who","type":"address","indexed":false},{"internalType":"uint256","name":"slot","type":"uint256","indexed":false}],"type":"event","name":"WARNING_UninitedSlot","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdStorage.sol":"stdStorageSafe"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc","urls":["bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57","dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xfd9e719ff0673fdd8ff83bbe72ee8cae0273d61937d27fde5d9159d9849233f4","urls":["bzz-raw://b14aaef0d76f2e5257e4e3ab33895d5260d4c7707ff4d37fea1f31d25c8684a8","dweb:/ipfs/QmRd6BMh4FNDPW8Niy4TU2XrtKqAc6GRTfw8xjSwpQ42Gy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/StdStorage.sol","id":6523,"exportedSymbols":{"FindData":[4540],"StdStorage":[4565],"Vm":[12362],"stdStorage":[6522],"stdStorageSafe":[5917]},"nodeType":"SourceUnit","src":"32:17809:6","nodes":[{"id":4529,"nodeType":"PragmaDirective","src":"32:31:6","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":4531,"nodeType":"ImportDirective","src":"65:28:6","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":6523,"sourceUnit":12363,"symbolAliases":[{"foreign":{"id":4530,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12362,"src":"73:2:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4540,"nodeType":"StructDefinition","src":"95:102:6","nodes":[],"canonicalName":"FindData","members":[{"constant":false,"id":4533,"mutability":"mutable","name":"slot","nameLocation":"125:4:6","nodeType":"VariableDeclaration","scope":4540,"src":"117:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4532,"name":"uint256","nodeType":"ElementaryTypeName","src":"117:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4535,"mutability":"mutable","name":"offsetLeft","nameLocation":"143:10:6","nodeType":"VariableDeclaration","scope":4540,"src":"135:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4534,"name":"uint256","nodeType":"ElementaryTypeName","src":"135:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4537,"mutability":"mutable","name":"offsetRight","nameLocation":"167:11:6","nodeType":"VariableDeclaration","scope":4540,"src":"159:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4536,"name":"uint256","nodeType":"ElementaryTypeName","src":"159:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4539,"mutability":"mutable","name":"found","nameLocation":"189:5:6","nodeType":"VariableDeclaration","scope":4540,"src":"184:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4538,"name":"bool","nodeType":"ElementaryTypeName","src":"184:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"FindData","nameLocation":"102:8:6","scope":6523,"visibility":"public"},{"id":4565,"nodeType":"StructDefinition","src":"199:249:6","nodes":[],"canonicalName":"StdStorage","members":[{"constant":false,"id":4549,"mutability":"mutable","name":"finds","nameLocation":"291:5:6","nodeType":"VariableDeclaration","scope":4565,"src":"223:73:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"typeName":{"id":4548,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4541,"name":"address","nodeType":"ElementaryTypeName","src":"231:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"223:67:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4547,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4542,"name":"bytes4","nodeType":"ElementaryTypeName","src":"250:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"242:47:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4546,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4543,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"260:28:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4545,"nodeType":"UserDefinedTypeName","pathNode":{"id":4544,"name":"FindData","nameLocations":["279:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4540,"src":"279:8:6"},"referencedDeclaration":4540,"src":"279:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"}}}}},"visibility":"internal"},{"constant":false,"id":4552,"mutability":"mutable","name":"_keys","nameLocation":"312:5:6","nodeType":"VariableDeclaration","scope":4565,"src":"302:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4551,"nodeType":"ArrayTypeName","src":"302:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4554,"mutability":"mutable","name":"_sig","nameLocation":"330:4:6","nodeType":"VariableDeclaration","scope":4565,"src":"323:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4553,"name":"bytes4","nodeType":"ElementaryTypeName","src":"323:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":4556,"mutability":"mutable","name":"_depth","nameLocation":"348:6:6","nodeType":"VariableDeclaration","scope":4565,"src":"340:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4555,"name":"uint256","nodeType":"ElementaryTypeName","src":"340:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4558,"mutability":"mutable","name":"_target","nameLocation":"368:7:6","nodeType":"VariableDeclaration","scope":4565,"src":"360:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4557,"name":"address","nodeType":"ElementaryTypeName","src":"360:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4560,"mutability":"mutable","name":"_set","nameLocation":"389:4:6","nodeType":"VariableDeclaration","scope":4565,"src":"381:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4562,"mutability":"mutable","name":"_enable_packed_slots","nameLocation":"404:20:6","nodeType":"VariableDeclaration","scope":4565,"src":"399:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4561,"name":"bool","nodeType":"ElementaryTypeName","src":"399:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4564,"mutability":"mutable","name":"_calldata","nameLocation":"436:9:6","nodeType":"VariableDeclaration","scope":4565,"src":"430:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4563,"name":"bytes","nodeType":"ElementaryTypeName","src":"430:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"206:10:6","scope":6523,"visibility":"public"},{"id":5917,"nodeType":"ContractDefinition","src":"450:12307:6","nodes":[{"id":4575,"nodeType":"EventDefinition","src":"479:74:6","nodes":[],"anonymous":false,"eventSelector":"9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed","name":"SlotFound","nameLocation":"485:9:6","parameters":{"id":4574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4567,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"503:3:6","nodeType":"VariableDeclaration","scope":4575,"src":"495:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4566,"name":"address","nodeType":"ElementaryTypeName","src":"495:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4569,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"515:4:6","nodeType":"VariableDeclaration","scope":4575,"src":"508:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4568,"name":"bytes4","nodeType":"ElementaryTypeName","src":"508:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":4571,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"529:8:6","nodeType":"VariableDeclaration","scope":4575,"src":"521:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"521:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4573,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"547:4:6","nodeType":"VariableDeclaration","scope":4575,"src":"539:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4572,"name":"uint256","nodeType":"ElementaryTypeName","src":"539:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"494:58:6"}},{"id":4581,"nodeType":"EventDefinition","src":"558:54:6","nodes":[],"anonymous":false,"eventSelector":"080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5","name":"WARNING_UninitedSlot","nameLocation":"564:20:6","parameters":{"id":4580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4577,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"593:3:6","nodeType":"VariableDeclaration","scope":4581,"src":"585:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4576,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4579,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"606:4:6","nodeType":"VariableDeclaration","scope":4581,"src":"598:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4578,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"584:27:6"}},{"id":4598,"nodeType":"VariableDeclaration","src":"618:84:6","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"638:2:6","scope":5917,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"},"typeName":{"id":4583,"nodeType":"UserDefinedTypeName","pathNode":{"id":4582,"name":"Vm","nameLocations":["618:2:6"],"nodeType":"IdentifierPath","referencedDeclaration":12362,"src":"618:2:6"},"referencedDeclaration":12362,"src":"618:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":4592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"680:17:6","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":4591,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"670:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"670:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"662:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4589,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:6","typeDescriptions":{}}},"id":4594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"662:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"654:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":4587,"name":"uint160","nodeType":"ElementaryTypeName","src":"654:7:6","typeDescriptions":{}}},"id":4595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"654:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":4586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"646:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4585,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:6","typeDescriptions":{}}},"id":4596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"646:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4584,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12362,"src":"643:2:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12362_$","typeString":"type(contract Vm)"}},"id":4597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"643:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"visibility":"private"},{"id":4601,"nodeType":"VariableDeclaration","src":"708:109:6","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"725:11:6","scope":5917,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4599,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":4600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"739:78:6","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":4619,"nodeType":"FunctionDefinition","src":"824:123:6","nodes":[],"body":{"id":4618,"nodeType":"Block","src":"891:56:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":4613,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4603,"src":"931:6:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"925:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4611,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:6","typeDescriptions":{}}},"id":4614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"925:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4610,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"915:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"915:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"908:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":4608,"name":"bytes4","nodeType":"ElementaryTypeName","src":"908:6:6","typeDescriptions":{}}},"id":4616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"908:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":4607,"id":4617,"nodeType":"Return","src":"901:39:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"833:4:6","parameters":{"id":4604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4603,"mutability":"mutable","name":"sigStr","nameLocation":"852:6:6","nodeType":"VariableDeclaration","scope":4619,"src":"838:20:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4602,"name":"string","nodeType":"ElementaryTypeName","src":"838:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"837:22:6"},"returnParameters":{"id":4607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4619,"src":"883:6:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4605,"name":"bytes4","nodeType":"ElementaryTypeName","src":"883:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"882:8:6"},"scope":5917,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4644,"nodeType":"FunctionDefinition","src":"953:236:6","nodes":[],"body":{"id":4643,"nodeType":"Block","src":"1038:151:6","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":4627,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"1052:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1057:9:6","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":4564,"src":"1052:14:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":4629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1067:6:6","memberName":"length","nodeType":"MemberAccess","src":"1052:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1052:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4641,"nodeType":"Block","src":"1137:46:6","statements":[{"expression":{"expression":{"id":4638,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"1158:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1163:9:6","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":4564,"src":"1158:14:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":4626,"id":4640,"nodeType":"Return","src":"1151:21:6"}]},"id":4642,"nodeType":"IfStatement","src":"1048:135:6","trueBody":{"id":4637,"nodeType":"Block","src":"1080:51:6","statements":[{"expression":{"arguments":[{"expression":{"id":4633,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"1109:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1114:5:6","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":4552,"src":"1109:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}],"id":4632,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5840,"src":"1101:7:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":4635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1101:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":4626,"id":4636,"nodeType":"Return","src":"1094:26:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"getCallParams","nameLocation":"962:13:6","parameters":{"id":4623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4622,"mutability":"mutable","name":"self","nameLocation":"995:4:6","nodeType":"VariableDeclaration","scope":4644,"src":"976:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":4621,"nodeType":"UserDefinedTypeName","pathNode":{"id":4620,"name":"StdStorage","nameLocations":["976:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"976:10:6"},"referencedDeclaration":4565,"src":"976:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"975:25:6"},"returnParameters":{"id":4626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4644,"src":"1024:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4624,"name":"bytes","nodeType":"ElementaryTypeName","src":"1024:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1023:14:6"},"scope":5917,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4690,"nodeType":"FunctionDefinition","src":"1251:343:6","nodes":[],"body":{"id":4689,"nodeType":"Block","src":"1334:260:6","nodes":[],"statements":[{"assignments":[4655],"declarations":[{"constant":false,"id":4655,"mutability":"mutable","name":"cald","nameLocation":"1357:4:6","nodeType":"VariableDeclaration","scope":4689,"src":"1344:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4654,"name":"bytes","nodeType":"ElementaryTypeName","src":"1344:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4664,"initialValue":{"arguments":[{"expression":{"id":4658,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4647,"src":"1381:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1386:4:6","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":4554,"src":"1381:9:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":4661,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4647,"src":"1406:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":4660,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4644,"src":"1392:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":4662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1392:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1364:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1368:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"1364:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1364:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1344:68:6"},{"assignments":[4666,4668],"declarations":[{"constant":false,"id":4666,"mutability":"mutable","name":"success","nameLocation":"1428:7:6","nodeType":"VariableDeclaration","scope":4689,"src":"1423:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4665,"name":"bool","nodeType":"ElementaryTypeName","src":"1423:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4668,"mutability":"mutable","name":"rdat","nameLocation":"1450:4:6","nodeType":"VariableDeclaration","scope":4689,"src":"1437:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4667,"name":"bytes","nodeType":"ElementaryTypeName","src":"1437:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4674,"initialValue":{"arguments":[{"id":4672,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4655,"src":"1482:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":4669,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4647,"src":"1458:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1463:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"1458:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1471:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"1458:23:6","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":4673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1458:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1422:65:6"},{"assignments":[4676],"declarations":[{"constant":false,"id":4676,"mutability":"mutable","name":"result","nameLocation":"1505:6:6","nodeType":"VariableDeclaration","scope":4689,"src":"1497:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1497:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4684,"initialValue":{"arguments":[{"id":4678,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4668,"src":"1529:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":4679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1535:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":4680,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4647,"src":"1540:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1545:6:6","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":4556,"src":"1540:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1535:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4677,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"1514:14:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":4683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1514:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1497:55:6"},{"expression":{"components":[{"id":4685,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4666,"src":"1571:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4686,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4676,"src":"1580:6:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":4687,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1570:17:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"functionReturnParameters":4653,"id":4688,"nodeType":"Return","src":"1563:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"callTarget","nameLocation":"1260:10:6","parameters":{"id":4648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4647,"mutability":"mutable","name":"self","nameLocation":"1290:4:6","nodeType":"VariableDeclaration","scope":4690,"src":"1271:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":4646,"nodeType":"UserDefinedTypeName","pathNode":{"id":4645,"name":"StdStorage","nameLocations":["1271:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"1271:10:6"},"referencedDeclaration":4565,"src":"1271:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1270:25:6"},"returnParameters":{"id":4653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4690,"src":"1319:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4649,"name":"bool","nodeType":"ElementaryTypeName","src":"1319:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4690,"src":"1325:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1325:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1318:15:6"},"scope":5917,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4768,"nodeType":"FunctionDefinition","src":"1851:546:6","nodes":[],"body":{"id":4767,"nodeType":"Block","src":"1944:453:6","nodes":[],"statements":[{"assignments":[4701],"declarations":[{"constant":false,"id":4701,"mutability":"mutable","name":"prevSlotValue","nameLocation":"1962:13:6","nodeType":"VariableDeclaration","scope":4767,"src":"1954:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1954:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4708,"initialValue":{"arguments":[{"expression":{"id":4704,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"1986:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1991:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"1986:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4706,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4695,"src":"2000:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4702,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"1978:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":4703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1981:4:6","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":9150,"src":"1978:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":4707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1978:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1954:51:6"},{"assignments":[4710,4712],"declarations":[{"constant":false,"id":4710,"mutability":"mutable","name":"success","nameLocation":"2021:7:6","nodeType":"VariableDeclaration","scope":4767,"src":"2016:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4709,"name":"bool","nodeType":"ElementaryTypeName","src":"2016:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4712,"mutability":"mutable","name":"prevReturnValue","nameLocation":"2038:15:6","nodeType":"VariableDeclaration","scope":4767,"src":"2030:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2030:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4716,"initialValue":{"arguments":[{"id":4714,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"2068:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":4713,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"2057:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":4715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2057:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2015:58:6"},{"assignments":[4718],"declarations":[{"constant":false,"id":4718,"mutability":"mutable","name":"testVal","nameLocation":"2092:7:6","nodeType":"VariableDeclaration","scope":4767,"src":"2084:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2084:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4734,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":4724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4719,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4712,"src":"2102:15:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":4722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2129:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2121:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":4720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2121:7:6","typeDescriptions":{}}},"id":4723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2102:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":4731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2165:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2157:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":4729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:6","typeDescriptions":{}}},"id":4732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2157:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2102:65:6","trueExpression":{"arguments":[{"id":4727,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4601,"src":"2142:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2134:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":4725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2134:7:6","typeDescriptions":{}}},"id":4728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2084:83:6"},{"expression":{"arguments":[{"expression":{"id":4738,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"2186:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2191:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"2186:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4740,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4695,"src":"2200:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4741,"name":"testVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4718,"src":"2206:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4735,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"2177:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":4737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2180:5:6","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":12165,"src":"2177:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":4742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2177:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4743,"nodeType":"ExpressionStatement","src":"2177:37:6"},{"assignments":[null,4745],"declarations":[null,{"constant":false,"id":4745,"mutability":"mutable","name":"newReturnValue","nameLocation":"2236:14:6","nodeType":"VariableDeclaration","scope":4767,"src":"2228:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2228:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4749,"initialValue":{"arguments":[{"id":4747,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"2265:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":4746,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"2254:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":4748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2254:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2225:45:6"},{"expression":{"arguments":[{"expression":{"id":4753,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"2290:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2295:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"2290:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4755,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4695,"src":"2304:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4756,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4701,"src":"2310:13:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4750,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"2281:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":4752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:5:6","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":12165,"src":"2281:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":4757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2281:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4758,"nodeType":"ExpressionStatement","src":"2281:43:6"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4759,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4710,"src":"2343:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":4762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4760,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4712,"src":"2355:15:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":4761,"name":"newReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"2374:14:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2355:33:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4763,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2354:35:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2343:46:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4765,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2342:48:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4699,"id":4766,"nodeType":"Return","src":"2335:55:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSlotMutatesCall","nameLocation":"1860:20:6","parameters":{"id":4696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4693,"mutability":"mutable","name":"self","nameLocation":"1900:4:6","nodeType":"VariableDeclaration","scope":4768,"src":"1881:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":4692,"nodeType":"UserDefinedTypeName","pathNode":{"id":4691,"name":"StdStorage","nameLocations":["1881:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"1881:10:6"},"referencedDeclaration":4565,"src":"1881:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":4695,"mutability":"mutable","name":"slot","nameLocation":"1914:4:6","nodeType":"VariableDeclaration","scope":4768,"src":"1906:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1906:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1880:39:6"},"returnParameters":{"id":4699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4698,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4768,"src":"1938:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4697,"name":"bool","nodeType":"ElementaryTypeName","src":"1938:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1937:6:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":4850,"nodeType":"FunctionDefinition","src":"2560:514:6","nodes":[],"body":{"id":4849,"nodeType":"Block","src":"2663:411:6","nodes":[],"statements":[{"body":{"id":4843,"nodeType":"Block","src":"2722:319:6","statements":[{"assignments":[4793],"declarations":[{"constant":false,"id":4793,"mutability":"mutable","name":"valueToPut","nameLocation":"2744:10:6","nodeType":"VariableDeclaration","scope":4843,"src":"2736:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4792,"name":"uint256","nodeType":"ElementaryTypeName","src":"2736:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4807,"initialValue":{"condition":{"id":4794,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4775,"src":"2757:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":4802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2789:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":4803,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4783,"src":"2794:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2789:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4805,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2788:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2757:44:6","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":4795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2765:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323535","id":4796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2771:3:6","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4797,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4783,"src":"2777:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2771:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4799,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2770:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2765:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4801,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2764:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2736:65:6"},{"expression":{"arguments":[{"expression":{"id":4811,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4771,"src":"2824:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2829:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"2824:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4813,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4773,"src":"2838:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":4816,"name":"valueToPut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"2852:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2844:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":4814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2844:7:6","typeDescriptions":{}}},"id":4817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2844:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4808,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"2815:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":4810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2818:5:6","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":12165,"src":"2815:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":4818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2815:49:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4819,"nodeType":"ExpressionStatement","src":"2815:49:6"},{"assignments":[4821,4823],"declarations":[{"constant":false,"id":4821,"mutability":"mutable","name":"success","nameLocation":"2885:7:6","nodeType":"VariableDeclaration","scope":4843,"src":"2880:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4820,"name":"bool","nodeType":"ElementaryTypeName","src":"2880:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4823,"mutability":"mutable","name":"data","nameLocation":"2902:4:6","nodeType":"VariableDeclaration","scope":4843,"src":"2894:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2894:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4827,"initialValue":{"arguments":[{"id":4825,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4771,"src":"2921:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":4824,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"2910:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":4826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2910:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2879:47:6"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4828,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4821,"src":"2945:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4831,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4823,"src":"2965:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2957:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4829,"name":"uint256","nodeType":"ElementaryTypeName","src":"2957:7:6","typeDescriptions":{}}},"id":4832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2957:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2973:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2957:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4835,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2956:19:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2945:30:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4842,"nodeType":"IfStatement","src":"2941:90:6","trueBody":{"id":4841,"nodeType":"Block","src":"2977:54:6","statements":[{"expression":{"components":[{"hexValue":"74727565","id":4837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3003:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":4838,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4783,"src":"3009:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4839,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3002:14:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":4781,"id":4840,"nodeType":"Return","src":"2995:21:6"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4786,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4783,"src":"2698:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"323536","id":4787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2707:3:6","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2698:12:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4844,"initializationExpression":{"assignments":[4783],"declarations":[{"constant":false,"id":4783,"mutability":"mutable","name":"offset","nameLocation":"2686:6:6","nodeType":"VariableDeclaration","scope":4844,"src":"2678:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4782,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4785,"initialValue":{"hexValue":"30","id":4784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2695:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2678:18:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":4790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2712:8:6","subExpression":{"id":4789,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4783,"src":"2712:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4791,"nodeType":"ExpressionStatement","src":"2712:8:6"},"nodeType":"ForStatement","src":"2673:368:6"},{"expression":{"components":[{"hexValue":"66616c7365","id":4845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3058:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":4846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3065:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":4847,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3057:10:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":4781,"id":4848,"nodeType":"Return","src":"3050:17:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffset","nameLocation":"2569:10:6","parameters":{"id":4776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4771,"mutability":"mutable","name":"self","nameLocation":"2599:4:6","nodeType":"VariableDeclaration","scope":4850,"src":"2580:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":4770,"nodeType":"UserDefinedTypeName","pathNode":{"id":4769,"name":"StdStorage","nameLocations":["2580:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"2580:10:6"},"referencedDeclaration":4565,"src":"2580:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":4773,"mutability":"mutable","name":"slot","nameLocation":"2613:4:6","nodeType":"VariableDeclaration","scope":4850,"src":"2605:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2605:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4775,"mutability":"mutable","name":"left","nameLocation":"2624:4:6","nodeType":"VariableDeclaration","scope":4850,"src":"2619:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4774,"name":"bool","nodeType":"ElementaryTypeName","src":"2619:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2579:50:6"},"returnParameters":{"id":4781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4850,"src":"2648:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4777,"name":"bool","nodeType":"ElementaryTypeName","src":"2648:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4850,"src":"2654:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4779,"name":"uint256","nodeType":"ElementaryTypeName","src":"2654:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2647:15:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":4910,"nodeType":"FunctionDefinition","src":"3080:534:6","nodes":[],"body":{"id":4909,"nodeType":"Block","src":"3182:432:6","nodes":[],"statements":[{"assignments":[4865],"declarations":[{"constant":false,"id":4865,"mutability":"mutable","name":"prevSlotValue","nameLocation":"3200:13:6","nodeType":"VariableDeclaration","scope":4909,"src":"3192:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3192:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":4872,"initialValue":{"arguments":[{"expression":{"id":4868,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4853,"src":"3224:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3229:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"3224:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4870,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"3238:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4866,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"3216:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":4867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3219:4:6","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":9150,"src":"3216:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":4871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3216:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3192:51:6"},{"assignments":[4874,4876],"declarations":[{"constant":false,"id":4874,"mutability":"mutable","name":"foundLeft","nameLocation":"3260:9:6","nodeType":"VariableDeclaration","scope":4909,"src":"3255:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4873,"name":"bool","nodeType":"ElementaryTypeName","src":"3255:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4876,"mutability":"mutable","name":"offsetLeft","nameLocation":"3279:10:6","nodeType":"VariableDeclaration","scope":4909,"src":"3271:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4875,"name":"uint256","nodeType":"ElementaryTypeName","src":"3271:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4882,"initialValue":{"arguments":[{"id":4878,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4853,"src":"3304:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":4879,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"3310:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":4880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3316:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4877,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4850,"src":"3293:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":4881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3293:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3254:67:6"},{"assignments":[4884,4886],"declarations":[{"constant":false,"id":4884,"mutability":"mutable","name":"foundRight","nameLocation":"3337:10:6","nodeType":"VariableDeclaration","scope":4909,"src":"3332:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4883,"name":"bool","nodeType":"ElementaryTypeName","src":"3332:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4886,"mutability":"mutable","name":"offsetRight","nameLocation":"3357:11:6","nodeType":"VariableDeclaration","scope":4909,"src":"3349:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4885,"name":"uint256","nodeType":"ElementaryTypeName","src":"3349:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4892,"initialValue":{"arguments":[{"id":4888,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4853,"src":"3383:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":4889,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"3389:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"66616c7365","id":4890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3395:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4887,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4850,"src":"3372:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":4891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3372:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3331:70:6"},{"expression":{"arguments":[{"expression":{"id":4896,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4853,"src":"3506:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3511:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"3506:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4898,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"3520:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":4899,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4865,"src":"3526:13:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":4893,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"3497:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":4895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3500:5:6","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":12165,"src":"3497:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":4900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3497:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4901,"nodeType":"ExpressionStatement","src":"3497:43:6"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4902,"name":"foundLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4874,"src":"3558:9:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":4903,"name":"foundRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4884,"src":"3571:10:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3558:23:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4905,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4876,"src":"3583:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4906,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4886,"src":"3595:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4907,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3557:50:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"functionReturnParameters":4863,"id":4908,"nodeType":"Return","src":"3550:57:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffsets","nameLocation":"3089:11:6","parameters":{"id":4856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4853,"mutability":"mutable","name":"self","nameLocation":"3120:4:6","nodeType":"VariableDeclaration","scope":4910,"src":"3101:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":4852,"nodeType":"UserDefinedTypeName","pathNode":{"id":4851,"name":"StdStorage","nameLocations":["3101:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"3101:10:6"},"referencedDeclaration":4565,"src":"3101:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":4855,"mutability":"mutable","name":"slot","nameLocation":"3134:4:6","nodeType":"VariableDeclaration","scope":4910,"src":"3126:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3126:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3100:39:6"},"returnParameters":{"id":4863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4910,"src":"3158:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4857,"name":"bool","nodeType":"ElementaryTypeName","src":"3158:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4910,"src":"3164:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4859,"name":"uint256","nodeType":"ElementaryTypeName","src":"3164:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4910,"src":"3173:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4861,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3157:24:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":4925,"nodeType":"FunctionDefinition","src":"3620:115:6","nodes":[],"body":{"id":4924,"nodeType":"Block","src":"3695:40:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4920,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4913,"src":"3717:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":4921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3723:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4919,"name":"find","nodeType":"Identifier","overloadedDeclarations":[4925,5226],"referencedDeclaration":5226,"src":"3712:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$4540_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":4922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3712:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"functionReturnParameters":4918,"id":4923,"nodeType":"Return","src":"3705:23:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"3629:4:6","parameters":{"id":4914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4913,"mutability":"mutable","name":"self","nameLocation":"3653:4:6","nodeType":"VariableDeclaration","scope":4925,"src":"3634:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":4912,"nodeType":"UserDefinedTypeName","pathNode":{"id":4911,"name":"StdStorage","nameLocations":["3634:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"3634:10:6"},"referencedDeclaration":4565,"src":"3634:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"3633:25:6"},"returnParameters":{"id":4918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4925,"src":"3677:16:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"},"typeName":{"id":4916,"nodeType":"UserDefinedTypeName","pathNode":{"id":4915,"name":"FindData","nameLocations":["3677:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4540,"src":"3677:8:6"},"referencedDeclaration":4540,"src":"3677:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"3676:18:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5226,"nodeType":"FunctionDefinition","src":"4249:2492:6","nodes":[],"body":{"id":5225,"nodeType":"Block","src":"4337:2404:6","nodes":[],"statements":[{"assignments":[4938],"declarations":[{"constant":false,"id":4938,"mutability":"mutable","name":"who","nameLocation":"4355:3:6","nodeType":"VariableDeclaration","scope":5225,"src":"4347:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4937,"name":"address","nodeType":"ElementaryTypeName","src":"4347:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":4941,"initialValue":{"expression":{"id":4939,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4361:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4366:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"4361:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4347:26:6"},{"assignments":[4943],"declarations":[{"constant":false,"id":4943,"mutability":"mutable","name":"fsig","nameLocation":"4390:4:6","nodeType":"VariableDeclaration","scope":5225,"src":"4383:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4942,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4383:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":4946,"initialValue":{"expression":{"id":4944,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4397:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4402:4:6","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":4554,"src":"4397:9:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4383:23:6"},{"assignments":[4948],"declarations":[{"constant":false,"id":4948,"mutability":"mutable","name":"field_depth","nameLocation":"4424:11:6","nodeType":"VariableDeclaration","scope":5225,"src":"4416:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4947,"name":"uint256","nodeType":"ElementaryTypeName","src":"4416:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4951,"initialValue":{"expression":{"id":4949,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4438:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4443:6:6","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":4556,"src":"4438:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4416:33:6"},{"assignments":[4953],"declarations":[{"constant":false,"id":4953,"mutability":"mutable","name":"params","nameLocation":"4472:6:6","nodeType":"VariableDeclaration","scope":5225,"src":"4459:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4952,"name":"bytes","nodeType":"ElementaryTypeName","src":"4459:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4957,"initialValue":{"arguments":[{"id":4955,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4495:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":4954,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4644,"src":"4481:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":4956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4481:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4459:41:6"},{"condition":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":4958,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4551:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4556:5:6","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":4549,"src":"4551:10:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":4961,"indexExpression":{"id":4960,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"4562:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":4963,"indexExpression":{"id":4962,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"4567:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:21:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":4971,"indexExpression":{"arguments":[{"arguments":[{"id":4967,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"4600:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":4968,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4948,"src":"4608:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4583:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4587:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"4583:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4583:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4964,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4573:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4573:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:71:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"id":4972,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4623:5:6","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":4539,"src":"4551:77:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4996,"nodeType":"IfStatement","src":"4547:255:6","trueBody":{"id":4995,"nodeType":"Block","src":"4630:172:6","statements":[{"condition":{"id":4973,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4931,"src":"4648:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4979,"nodeType":"IfStatement","src":"4644:56:6","trueBody":{"id":4978,"nodeType":"Block","src":"4656:44:6","statements":[{"expression":{"arguments":[{"id":4975,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4680:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":4974,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5871,"src":"4674:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":4976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4977,"nodeType":"ExpressionStatement","src":"4674:11:6"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":4980,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4720:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":4981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4725:5:6","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":4549,"src":"4720:10:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":4983,"indexExpression":{"id":4982,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"4731:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":4985,"indexExpression":{"id":4984,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"4736:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:21:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":4993,"indexExpression":{"arguments":[{"arguments":[{"id":4989,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"4769:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":4990,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4948,"src":"4777:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4987,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4752:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4756:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"4752:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4752:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4986,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4742:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4742:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:71:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":4936,"id":4994,"nodeType":"Return","src":"4713:78:6"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4997,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"4811:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":4999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4814:6:6","memberName":"record","nodeType":"MemberAccess","referencedDeclaration":9158,"src":"4811:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4811:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5001,"nodeType":"ExpressionStatement","src":"4811:11:6"},{"assignments":[null,5003],"declarations":[null,{"constant":false,"id":5003,"mutability":"mutable","name":"callResult","nameLocation":"4843:10:6","nodeType":"VariableDeclaration","scope":5225,"src":"4835:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5002,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4835:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5007,"initialValue":{"arguments":[{"id":5005,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"4868:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5004,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"4857:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":5006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4857:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"4832:41:6"},{"assignments":[5012,null],"declarations":[{"constant":false,"id":5012,"mutability":"mutable","name":"reads","nameLocation":"4901:5:6","nodeType":"VariableDeclaration","scope":5225,"src":"4884:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":5010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4884:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5011,"nodeType":"ArrayTypeName","src":"4884:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":5020,"initialValue":{"arguments":[{"arguments":[{"id":5017,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"4931:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4923:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5015,"name":"address","nodeType":"ElementaryTypeName","src":"4923:7:6","typeDescriptions":{}}},"id":5018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4923:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5013,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"4911:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4914:8:6","memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":9038,"src":"4911:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) external returns (bytes32[] memory,bytes32[] memory)"}},"id":5019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4911:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,bytes32[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"4883:53:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5021,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"4951:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4957:6:6","memberName":"length","nodeType":"MemberAccess","src":"4951:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4967:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4951:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5182,"nodeType":"Block","src":"5075:1332:6","statements":[{"body":{"id":5180,"nodeType":"Block","src":"5131:1266:6","statements":[{"assignments":[5040],"declarations":[{"constant":false,"id":5040,"mutability":"mutable","name":"prev","nameLocation":"5157:4:6","nodeType":"VariableDeclaration","scope":5180,"src":"5149:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5149:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5048,"initialValue":{"arguments":[{"id":5043,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"5172:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":5044,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"5177:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5046,"indexExpression":{"id":5045,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"5183:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5177:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5041,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"5164:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5167:4:6","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":9150,"src":"5164:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":5047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5164:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5149:37:6"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5049,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5040,"src":"5208:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":5052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5224:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5216:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5216:7:6","typeDescriptions":{}}},"id":5053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5216:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5208:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5066,"nodeType":"IfStatement","src":"5204:114:6","trueBody":{"id":5065,"nodeType":"Block","src":"5228:90:6","statements":[{"eventCall":{"arguments":[{"id":5056,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"5276:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":5059,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"5289:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5061,"indexExpression":{"id":5060,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"5295:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5289:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5281:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5057,"name":"uint256","nodeType":"ElementaryTypeName","src":"5281:7:6","typeDescriptions":{}}},"id":5062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5281:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5055,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4581,"src":"5255:20:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":5063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5255:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5064,"nodeType":"EmitStatement","src":"5250:49:6"}]}},{"condition":{"id":5073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5340:37:6","subExpression":{"arguments":[{"id":5068,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"5362:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":5069,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"5368:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5071,"indexExpression":{"id":5070,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"5374:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5368:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5067,"name":"checkSlotMutatesCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4768,"src":"5341:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool)"}},"id":5072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5341:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5076,"nodeType":"IfStatement","src":"5336:92:6","trueBody":{"id":5075,"nodeType":"Block","src":"5379:49:6","statements":[{"id":5074,"nodeType":"Continue","src":"5401:8:6"}]}},{"assignments":[5078,5080],"declarations":[{"constant":false,"id":5078,"mutability":"mutable","name":"offsetLeft","nameLocation":"5455:10:6","nodeType":"VariableDeclaration","scope":5180,"src":"5447:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5077,"name":"uint256","nodeType":"ElementaryTypeName","src":"5447:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5080,"mutability":"mutable","name":"offsetRight","nameLocation":"5475:11:6","nodeType":"VariableDeclaration","scope":5180,"src":"5467:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5079,"name":"uint256","nodeType":"ElementaryTypeName","src":"5467:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5084,"initialValue":{"components":[{"hexValue":"30","id":5081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5491:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":5082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5494:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":5083,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5490:6:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"nodeType":"VariableDeclarationStatement","src":"5446:50:6"},{"condition":{"expression":{"id":5085,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"5519:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5086,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5524:20:6","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":4562,"src":"5519:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5108,"nodeType":"IfStatement","src":"5515:256:6","trueBody":{"id":5107,"nodeType":"Block","src":"5546:225:6","statements":[{"assignments":[5088],"declarations":[{"constant":false,"id":5088,"mutability":"mutable","name":"found","nameLocation":"5573:5:6","nodeType":"VariableDeclaration","scope":5107,"src":"5568:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5087,"name":"bool","nodeType":"ElementaryTypeName","src":"5568:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5089,"nodeType":"VariableDeclarationStatement","src":"5568:10:6"},{"expression":{"id":5100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5090,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"5601:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":5091,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"5608:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5092,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5080,"src":"5620:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5093,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5600:32:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5095,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"5647:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":5096,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"5653:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5098,"indexExpression":{"id":5097,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"5659:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5653:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5094,"name":"findOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4910,"src":"5635:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool,uint256,uint256)"}},"id":5099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5635:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"src":"5600:62:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5101,"nodeType":"ExpressionStatement","src":"5600:62:6"},{"condition":{"id":5103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5688:6:6","subExpression":{"id":5102,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"5689:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5106,"nodeType":"IfStatement","src":"5684:69:6","trueBody":{"id":5105,"nodeType":"Block","src":"5696:57:6","statements":[{"id":5104,"nodeType":"Continue","src":"5722:8:6"}]}}]}},{"assignments":[5110],"declarations":[{"constant":false,"id":5110,"mutability":"mutable","name":"curVal","nameLocation":"5891:6:6","nodeType":"VariableDeclaration","scope":5180,"src":"5883:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5109,"name":"uint256","nodeType":"ElementaryTypeName","src":"5883:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5123,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5113,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5040,"src":"5909:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5901:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5111,"name":"uint256","nodeType":"ElementaryTypeName","src":"5901:7:6","typeDescriptions":{}}},"id":5114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5901:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"id":5116,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"5934:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5117,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5080,"src":"5946:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5115,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5882,"src":"5917:16:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5901:57:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5120,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5900:59:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":5121,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5080,"src":"5963:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5900:74:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5883:91:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5126,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"6005:10:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5997:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5124,"name":"uint256","nodeType":"ElementaryTypeName","src":"5997:7:6","typeDescriptions":{}}},"id":5127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5997:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":5128,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5110,"src":"6020:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5997:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5132,"nodeType":"IfStatement","src":"5993:84:6","trueBody":{"id":5131,"nodeType":"Block","src":"6028:49:6","statements":[{"id":5130,"nodeType":"Continue","src":"6050:8:6"}]}},{"eventCall":{"arguments":[{"id":5134,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"6110:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5135,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"6115:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":5139,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"6148:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5140,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4948,"src":"6156:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6131:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6135:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"6131:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6131:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5136,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6121:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6121:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":5145,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"6179:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5147,"indexExpression":{"id":5146,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"6185:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6179:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6171:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5143,"name":"uint256","nodeType":"ElementaryTypeName","src":"6171:7:6","typeDescriptions":{}}},"id":5148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6171:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5133,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4575,"src":"6100:9:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":5149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6100:89:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5150,"nodeType":"EmitStatement","src":"6095:94:6"},{"expression":{"id":5177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":5151,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"6207:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6212:5:6","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":4549,"src":"6207:10:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":5163,"indexExpression":{"id":5153,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"6218:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6207:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":5164,"indexExpression":{"id":5154,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"6223:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6207:21:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":5165,"indexExpression":{"arguments":[{"arguments":[{"id":5158,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"6256:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5159,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4948,"src":"6264:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6239:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6243:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"6239:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6239:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5155,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6229:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6229:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6207:71:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"baseExpression":{"id":5169,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"6318:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5171,"indexExpression":{"id":5170,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"6324:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6318:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6310:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5167,"name":"uint256","nodeType":"ElementaryTypeName","src":"6310:7:6","typeDescriptions":{}}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6310:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5173,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"6329:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5174,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5080,"src":"6341:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":5175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6354:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5166,"name":"FindData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4540,"src":"6301:8:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FindData_$4540_storage_ptr_$","typeString":"type(struct FindData storage pointer)"}},"id":5176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_memory_ptr","typeString":"struct FindData memory"}},"src":"6207:152:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"id":5178,"nodeType":"ExpressionStatement","src":"6207:152:6"},{"id":5179,"nodeType":"Break","src":"6377:5:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"5120:3:6","subExpression":{"id":5035,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"5122:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":5037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5127:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5120:8:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5181,"initializationExpression":{"assignments":[5031],"declarations":[{"constant":false,"id":5031,"mutability":"mutable","name":"i","nameLocation":"5102:1:6","nodeType":"VariableDeclaration","scope":5181,"src":"5094:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5030,"name":"uint256","nodeType":"ElementaryTypeName","src":"5094:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5034,"initialValue":{"expression":{"id":5032,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"5106:5:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5112:6:6","memberName":"length","nodeType":"MemberAccess","src":"5106:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5094:24:6"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"5089:1308:6"}]},"id":5183,"nodeType":"IfStatement","src":"4947:1460:6","trueBody":{"id":5029,"nodeType":"Block","src":"4970:99:6","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":5026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4991:66:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""},"value":"stdStorage find(StdStorage): No storage use detected for target."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""}],"id":5025,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4984:6:6","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4984:74:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5028,"nodeType":"ExpressionStatement","src":"4984:74:6"}]}},{"expression":{"arguments":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":5185,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"6438:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6443:5:6","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":4549,"src":"6438:10:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":5188,"indexExpression":{"id":5187,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"6449:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":5190,"indexExpression":{"id":5189,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"6454:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:21:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":5198,"indexExpression":{"arguments":[{"arguments":[{"id":5194,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"6487:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5195,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4948,"src":"6495:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5192,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6470:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6474:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"6470:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6470:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5191,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6460:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6460:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:71:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"id":5199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6510:5:6","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":4539,"src":"6438:77:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":5200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6529:49:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""},"value":"stdStorage find(StdStorage): Slot(s) not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""}],"id":5184,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6417:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6417:171:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5202,"nodeType":"ExpressionStatement","src":"6417:171:6"},{"condition":{"id":5203,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4931,"src":"6603:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5209,"nodeType":"IfStatement","src":"6599:48:6","trueBody":{"id":5208,"nodeType":"Block","src":"6611:36:6","statements":[{"expression":{"arguments":[{"id":5205,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"6631:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5204,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5871,"src":"6625:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":5206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6625:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5207,"nodeType":"ExpressionStatement","src":"6625:11:6"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":5210,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4929,"src":"6663:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6668:5:6","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":4549,"src":"6663:10:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":5213,"indexExpression":{"id":5212,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4938,"src":"6674:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":5215,"indexExpression":{"id":5214,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4943,"src":"6679:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:21:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":5223,"indexExpression":{"arguments":[{"arguments":[{"id":5219,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"6712:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5220,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4948,"src":"6720:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6695:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6699:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"6695:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6695:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5216,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6685:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:71:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":4936,"id":5224,"nodeType":"Return","src":"6656:78:6"}]},"documentation":{"id":4926,"nodeType":"StructuredDocumentation","src":"3741:129:6","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"4258:4:6","parameters":{"id":4932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4929,"mutability":"mutable","name":"self","nameLocation":"4282:4:6","nodeType":"VariableDeclaration","scope":5226,"src":"4263:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":4928,"nodeType":"UserDefinedTypeName","pathNode":{"id":4927,"name":"StdStorage","nameLocations":["4263:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"4263:10:6"},"referencedDeclaration":4565,"src":"4263:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":4931,"mutability":"mutable","name":"_clear","nameLocation":"4293:6:6","nodeType":"VariableDeclaration","scope":5226,"src":"4288:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4930,"name":"bool","nodeType":"ElementaryTypeName","src":"4288:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4262:38:6"},"returnParameters":{"id":4936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5226,"src":"4319:16:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"},"typeName":{"id":4934,"nodeType":"UserDefinedTypeName","pathNode":{"id":4933,"name":"FindData","nameLocations":["4319:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4540,"src":"4319:8:6"},"referencedDeclaration":4540,"src":"4319:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"4318:18:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5246,"nodeType":"FunctionDefinition","src":"6747:156:6","nodes":[],"body":{"id":5245,"nodeType":"Block","src":"6843:60:6","nodes":[],"statements":[{"expression":{"id":5241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5237,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"6853:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6858:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"6853:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5240,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5231,"src":"6868:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6853:22:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5242,"nodeType":"ExpressionStatement","src":"6853:22:6"},{"expression":{"id":5243,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"6892:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5236,"id":5244,"nodeType":"Return","src":"6885:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"6756:6:6","parameters":{"id":5232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5229,"mutability":"mutable","name":"self","nameLocation":"6782:4:6","nodeType":"VariableDeclaration","scope":5246,"src":"6763:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5228,"nodeType":"UserDefinedTypeName","pathNode":{"id":5227,"name":"StdStorage","nameLocations":["6763:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"6763:10:6"},"referencedDeclaration":4565,"src":"6763:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5231,"mutability":"mutable","name":"_target","nameLocation":"6796:7:6","nodeType":"VariableDeclaration","scope":5246,"src":"6788:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5230,"name":"address","nodeType":"ElementaryTypeName","src":"6788:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6762:42:6"},"returnParameters":{"id":5236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5246,"src":"6823:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5234,"nodeType":"UserDefinedTypeName","pathNode":{"id":5233,"name":"StdStorage","nameLocations":["6823:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"6823:10:6"},"referencedDeclaration":4565,"src":"6823:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6822:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5266,"nodeType":"FunctionDefinition","src":"6909:143:6","nodes":[],"body":{"id":5265,"nodeType":"Block","src":"6998:54:6","nodes":[],"statements":[{"expression":{"id":5261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5257,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5249,"src":"7008:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7013:4:6","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":4554,"src":"7008:9:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5260,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"7020:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7008:16:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":5262,"nodeType":"ExpressionStatement","src":"7008:16:6"},{"expression":{"id":5263,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5249,"src":"7041:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5256,"id":5264,"nodeType":"Return","src":"7034:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"6918:3:6","parameters":{"id":5252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5249,"mutability":"mutable","name":"self","nameLocation":"6941:4:6","nodeType":"VariableDeclaration","scope":5266,"src":"6922:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5248,"nodeType":"UserDefinedTypeName","pathNode":{"id":5247,"name":"StdStorage","nameLocations":["6922:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"6922:10:6"},"referencedDeclaration":4565,"src":"6922:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5251,"mutability":"mutable","name":"_sig","nameLocation":"6954:4:6","nodeType":"VariableDeclaration","scope":5266,"src":"6947:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5250,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6947:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6921:38:6"},"returnParameters":{"id":5256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5255,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5266,"src":"6978:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5254,"nodeType":"UserDefinedTypeName","pathNode":{"id":5253,"name":"StdStorage","nameLocations":["6978:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"6978:10:6"},"referencedDeclaration":4565,"src":"6978:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6977:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5288,"nodeType":"FunctionDefinition","src":"7058:156:6","nodes":[],"body":{"id":5287,"nodeType":"Block","src":"7154:60:6","nodes":[],"statements":[{"expression":{"id":5283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5277,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5269,"src":"7164:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7169:4:6","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":4554,"src":"7164:9:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5281,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5271,"src":"7181:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5280,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"7176:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":5282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7176:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7164:22:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":5284,"nodeType":"ExpressionStatement","src":"7164:22:6"},{"expression":{"id":5285,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5269,"src":"7203:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5276,"id":5286,"nodeType":"Return","src":"7196:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7067:3:6","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5269,"mutability":"mutable","name":"self","nameLocation":"7090:4:6","nodeType":"VariableDeclaration","scope":5288,"src":"7071:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5268,"nodeType":"UserDefinedTypeName","pathNode":{"id":5267,"name":"StdStorage","nameLocations":["7071:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7071:10:6"},"referencedDeclaration":4565,"src":"7071:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5271,"mutability":"mutable","name":"_sig","nameLocation":"7110:4:6","nodeType":"VariableDeclaration","scope":5288,"src":"7096:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5270,"name":"string","nodeType":"ElementaryTypeName","src":"7096:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7070:45:6"},"returnParameters":{"id":5276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5275,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5288,"src":"7134:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5274,"nodeType":"UserDefinedTypeName","pathNode":{"id":5273,"name":"StdStorage","nameLocations":["7134:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7134:10:6"},"referencedDeclaration":4565,"src":"7134:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7133:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5308,"nodeType":"FunctionDefinition","src":"7220:174:6","nodes":[],"body":{"id":5307,"nodeType":"Block","src":"7330:64:6","nodes":[],"statements":[{"expression":{"id":5303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5299,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5291,"src":"7340:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7345:9:6","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":4564,"src":"7340:14:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5302,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5293,"src":"7357:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7340:26:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":5304,"nodeType":"ExpressionStatement","src":"7340:26:6"},{"expression":{"id":5305,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5291,"src":"7383:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5298,"id":5306,"nodeType":"Return","src":"7376:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"7229:13:6","parameters":{"id":5294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5291,"mutability":"mutable","name":"self","nameLocation":"7262:4:6","nodeType":"VariableDeclaration","scope":5308,"src":"7243:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5290,"nodeType":"UserDefinedTypeName","pathNode":{"id":5289,"name":"StdStorage","nameLocations":["7243:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7243:10:6"},"referencedDeclaration":4565,"src":"7243:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5293,"mutability":"mutable","name":"_calldata","nameLocation":"7281:9:6","nodeType":"VariableDeclaration","scope":5308,"src":"7268:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5292,"name":"bytes","nodeType":"ElementaryTypeName","src":"7268:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7242:49:6"},"returnParameters":{"id":5298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5308,"src":"7310:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5296,"nodeType":"UserDefinedTypeName","pathNode":{"id":5295,"name":"StdStorage","nameLocations":["7310:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7310:10:6"},"referencedDeclaration":4565,"src":"7310:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7309:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5339,"nodeType":"FunctionDefinition","src":"7400:179:6","nodes":[],"body":{"id":5338,"nodeType":"Block","src":"7494:85:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":5330,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5313,"src":"7544:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7536:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":5328,"name":"uint160","nodeType":"ElementaryTypeName","src":"7536:7:6","typeDescriptions":{}}},"id":5331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7528:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5326,"name":"uint256","nodeType":"ElementaryTypeName","src":"7528:7:6","typeDescriptions":{}}},"id":5332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7520:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7520:7:6","typeDescriptions":{}}},"id":5333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7520:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":5319,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5311,"src":"7504:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7509:5:6","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":4552,"src":"7504:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":5323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7515:4:6","memberName":"push","nodeType":"MemberAccess","src":"7504:15:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":5334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7504:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5335,"nodeType":"ExpressionStatement","src":"7504:47:6"},{"expression":{"id":5336,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5311,"src":"7568:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5318,"id":5337,"nodeType":"Return","src":"7561:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7409:8:6","parameters":{"id":5314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5311,"mutability":"mutable","name":"self","nameLocation":"7437:4:6","nodeType":"VariableDeclaration","scope":5339,"src":"7418:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5310,"nodeType":"UserDefinedTypeName","pathNode":{"id":5309,"name":"StdStorage","nameLocations":["7418:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7418:10:6"},"referencedDeclaration":4565,"src":"7418:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5313,"mutability":"mutable","name":"who","nameLocation":"7451:3:6","nodeType":"VariableDeclaration","scope":5339,"src":"7443:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5312,"name":"address","nodeType":"ElementaryTypeName","src":"7443:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7417:38:6"},"returnParameters":{"id":5318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5317,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5339,"src":"7474:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5316,"nodeType":"UserDefinedTypeName","pathNode":{"id":5315,"name":"StdStorage","nameLocations":["7474:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7474:10:6"},"referencedDeclaration":4565,"src":"7474:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7473:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5364,"nodeType":"FunctionDefinition","src":"7585:161:6","nodes":[],"body":{"id":5363,"nodeType":"Block","src":"7679:67:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":5357,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5344,"src":"7713:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7705:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7705:7:6","typeDescriptions":{}}},"id":5358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7705:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":5350,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5342,"src":"7689:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5353,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7694:5:6","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":4552,"src":"7689:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":5354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7700:4:6","memberName":"push","nodeType":"MemberAccess","src":"7689:15:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":5359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7689:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5360,"nodeType":"ExpressionStatement","src":"7689:29:6"},{"expression":{"id":5361,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5342,"src":"7735:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5349,"id":5362,"nodeType":"Return","src":"7728:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7594:8:6","parameters":{"id":5345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5342,"mutability":"mutable","name":"self","nameLocation":"7622:4:6","nodeType":"VariableDeclaration","scope":5364,"src":"7603:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5341,"nodeType":"UserDefinedTypeName","pathNode":{"id":5340,"name":"StdStorage","nameLocations":["7603:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7603:10:6"},"referencedDeclaration":4565,"src":"7603:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5344,"mutability":"mutable","name":"amt","nameLocation":"7636:3:6","nodeType":"VariableDeclaration","scope":5364,"src":"7628:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5343,"name":"uint256","nodeType":"ElementaryTypeName","src":"7628:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7602:38:6"},"returnParameters":{"id":5349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5364,"src":"7659:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5347,"nodeType":"UserDefinedTypeName","pathNode":{"id":5346,"name":"StdStorage","nameLocations":["7659:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7659:10:6"},"referencedDeclaration":4565,"src":"7659:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7658:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5386,"nodeType":"FunctionDefinition","src":"7752:152:6","nodes":[],"body":{"id":5385,"nodeType":"Block","src":"7846:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":5380,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5369,"src":"7872:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":5375,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5367,"src":"7856:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7861:5:6","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":4552,"src":"7856:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":5379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7867:4:6","memberName":"push","nodeType":"MemberAccess","src":"7856:15:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":5381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7856:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5382,"nodeType":"ExpressionStatement","src":"7856:20:6"},{"expression":{"id":5383,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5367,"src":"7893:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5374,"id":5384,"nodeType":"Return","src":"7886:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7761:8:6","parameters":{"id":5370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5367,"mutability":"mutable","name":"self","nameLocation":"7789:4:6","nodeType":"VariableDeclaration","scope":5386,"src":"7770:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5366,"nodeType":"UserDefinedTypeName","pathNode":{"id":5365,"name":"StdStorage","nameLocations":["7770:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7770:10:6"},"referencedDeclaration":4565,"src":"7770:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5369,"mutability":"mutable","name":"key","nameLocation":"7803:3:6","nodeType":"VariableDeclaration","scope":5386,"src":"7795:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7795:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7769:38:6"},"returnParameters":{"id":5374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5373,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5386,"src":"7826:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5372,"nodeType":"UserDefinedTypeName","pathNode":{"id":5371,"name":"StdStorage","nameLocations":["7826:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7826:10:6"},"referencedDeclaration":4565,"src":"7826:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7825:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5404,"nodeType":"FunctionDefinition","src":"7910:162:6","nodes":[],"body":{"id":5403,"nodeType":"Block","src":"8002:70:6","nodes":[],"statements":[{"expression":{"id":5399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5395,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5389,"src":"8012:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8017:20:6","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":4562,"src":"8012:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8040:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8012:32:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5400,"nodeType":"ExpressionStatement","src":"8012:32:6"},{"expression":{"id":5401,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5389,"src":"8061:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5394,"id":5402,"nodeType":"Return","src":"8054:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"7919:19:6","parameters":{"id":5390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5389,"mutability":"mutable","name":"self","nameLocation":"7958:4:6","nodeType":"VariableDeclaration","scope":5404,"src":"7939:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5388,"nodeType":"UserDefinedTypeName","pathNode":{"id":5387,"name":"StdStorage","nameLocations":["7939:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7939:10:6"},"referencedDeclaration":4565,"src":"7939:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7938:25:6"},"returnParameters":{"id":5394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5393,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5404,"src":"7982:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5392,"nodeType":"UserDefinedTypeName","pathNode":{"id":5391,"name":"StdStorage","nameLocations":["7982:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"7982:10:6"},"referencedDeclaration":4565,"src":"7982:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7981:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5424,"nodeType":"FunctionDefinition","src":"8078:152:6","nodes":[],"body":{"id":5423,"nodeType":"Block","src":"8172:58:6","nodes":[],"statements":[{"expression":{"id":5419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5415,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5407,"src":"8182:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8187:6:6","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":4556,"src":"8182:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5418,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5409,"src":"8196:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8182:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5420,"nodeType":"ExpressionStatement","src":"8182:20:6"},{"expression":{"id":5421,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5407,"src":"8219:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5414,"id":5422,"nodeType":"Return","src":"8212:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8087:5:6","parameters":{"id":5410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5407,"mutability":"mutable","name":"self","nameLocation":"8112:4:6","nodeType":"VariableDeclaration","scope":5424,"src":"8093:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5406,"nodeType":"UserDefinedTypeName","pathNode":{"id":5405,"name":"StdStorage","nameLocations":["8093:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"8093:10:6"},"referencedDeclaration":4565,"src":"8093:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5409,"mutability":"mutable","name":"_depth","nameLocation":"8126:6:6","nodeType":"VariableDeclaration","scope":5424,"src":"8118:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5408,"name":"uint256","nodeType":"ElementaryTypeName","src":"8118:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8092:41:6"},"returnParameters":{"id":5414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5413,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5424,"src":"8152:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5412,"nodeType":"UserDefinedTypeName","pathNode":{"id":5411,"name":"StdStorage","nameLocations":["8152:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"8152:10:6"},"referencedDeclaration":4565,"src":"8152:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8151:20:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5481,"nodeType":"FunctionDefinition","src":"8236:364:6","nodes":[],"body":{"id":5480,"nodeType":"Block","src":"8306:294:6","nodes":[],"statements":[{"assignments":[5434],"declarations":[{"constant":false,"id":5434,"mutability":"mutable","name":"data","nameLocation":"8333:4:6","nodeType":"VariableDeclaration","scope":5480,"src":"8316:21:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"},"typeName":{"id":5433,"nodeType":"UserDefinedTypeName","pathNode":{"id":5432,"name":"FindData","nameLocations":["8316:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4540,"src":"8316:8:6"},"referencedDeclaration":4540,"src":"8316:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":5439,"initialValue":{"arguments":[{"id":5436,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5427,"src":"8345:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":5437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8351:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5435,"name":"find","nodeType":"Identifier","overloadedDeclarations":[4925,5226],"referencedDeclaration":5226,"src":"8340:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$4540_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":5438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8340:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8316:41:6"},{"assignments":[5441],"declarations":[{"constant":false,"id":5441,"mutability":"mutable","name":"mask","nameLocation":"8375:4:6","nodeType":"VariableDeclaration","scope":5480,"src":"8367:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5440,"name":"uint256","nodeType":"ElementaryTypeName","src":"8367:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5448,"initialValue":{"arguments":[{"expression":{"id":5443,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5434,"src":"8399:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":5444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8404:10:6","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":4535,"src":"8399:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":5445,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5434,"src":"8416:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":5446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8421:11:6","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":4537,"src":"8416:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5442,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5882,"src":"8382:16:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":5447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8382:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8367:66:6"},{"assignments":[5450],"declarations":[{"constant":false,"id":5450,"mutability":"mutable","name":"value","nameLocation":"8451:5:6","nodeType":"VariableDeclaration","scope":5480,"src":"8443:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5449,"name":"uint256","nodeType":"ElementaryTypeName","src":"8443:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5470,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":5455,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5427,"src":"8476:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8481:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"8476:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":5459,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5434,"src":"8498:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":5460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8503:4:6","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":4533,"src":"8498:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8490:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8490:7:6","typeDescriptions":{}}},"id":5461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8490:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5453,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"8468:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8471:4:6","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":9150,"src":"8468:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":5462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8468:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8460:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5451,"name":"uint256","nodeType":"ElementaryTypeName","src":"8460:7:6","typeDescriptions":{}}},"id":5463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8460:50:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":5464,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5441,"src":"8513:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8460:57:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5466,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8459:59:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"expression":{"id":5467,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5434,"src":"8522:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":5468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8527:11:6","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":4537,"src":"8522:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8459:79:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8443:95:6"},{"expression":{"arguments":[{"id":5472,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5427,"src":"8554:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5471,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5871,"src":"8548:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":5473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8548:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5474,"nodeType":"ExpressionStatement","src":"8548:11:6"},{"expression":{"arguments":[{"id":5477,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5450,"src":"8587:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8576:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8580:6:6","memberName":"encode","nodeType":"MemberAccess","src":"8576:10:6","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8576:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5431,"id":5479,"nodeType":"Return","src":"8569:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"8245:4:6","parameters":{"id":5428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5427,"mutability":"mutable","name":"self","nameLocation":"8269:4:6","nodeType":"VariableDeclaration","scope":5481,"src":"8250:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5426,"nodeType":"UserDefinedTypeName","pathNode":{"id":5425,"name":"StdStorage","nameLocations":["8250:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"8250:10:6"},"referencedDeclaration":4565,"src":"8250:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8249:25:6"},"returnParameters":{"id":5431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5430,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5481,"src":"8292:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5429,"name":"bytes","nodeType":"ElementaryTypeName","src":"8292:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8291:14:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":5500,"nodeType":"FunctionDefinition","src":"8606:131:6","nodes":[],"body":{"id":5499,"nodeType":"Block","src":"8680:57:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":5492,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5484,"src":"8713:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5491,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5481,"src":"8708:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":5493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8708:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8721:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8721:7:6","typeDescriptions":{}}}],"id":5496,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8720:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":5489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8697:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8701:6:6","memberName":"decode","nodeType":"MemberAccess","src":"8697:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8697:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5488,"id":5498,"nodeType":"Return","src":"8690:40:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"8615:12:6","parameters":{"id":5485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5484,"mutability":"mutable","name":"self","nameLocation":"8647:4:6","nodeType":"VariableDeclaration","scope":5500,"src":"8628:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5483,"nodeType":"UserDefinedTypeName","pathNode":{"id":5482,"name":"StdStorage","nameLocations":["8628:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"8628:10:6"},"referencedDeclaration":4565,"src":"8628:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8627:25:6"},"returnParameters":{"id":5488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5500,"src":"8671:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8671:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8670:9:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5531,"nodeType":"FunctionDefinition","src":"8743:279:6","nodes":[],"body":{"id":5530,"nodeType":"Block","src":"8811:211:6","nodes":[],"statements":[{"assignments":[5509],"declarations":[{"constant":false,"id":5509,"mutability":"mutable","name":"v","nameLocation":"8828:1:6","nodeType":"VariableDeclaration","scope":5530,"src":"8821:8:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":5508,"name":"int256","nodeType":"ElementaryTypeName","src":"8821:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":5513,"initialValue":{"arguments":[{"id":5511,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5503,"src":"8841:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5510,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5588,"src":"8832:8:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":5512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8832:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"8821:25:6"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":5516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5514,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5509,"src":"8860:1:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8865:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8860:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5519,"nodeType":"IfStatement","src":"8856:24:6","trueBody":{"expression":{"hexValue":"66616c7365","id":5517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8875:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":5507,"id":5518,"nodeType":"Return","src":"8868:12:6"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":5522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5520,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5509,"src":"8894:1:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":5521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8899:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8894:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5525,"nodeType":"IfStatement","src":"8890:23:6","trueBody":{"expression":{"hexValue":"74727565","id":5523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8909:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":5507,"id":5524,"nodeType":"Return","src":"8902:11:6"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":5527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8930:84:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""},"value":"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""}],"id":5526,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8923:6:6","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8923:92:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5529,"nodeType":"ExpressionStatement","src":"8923:92:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"8752:9:6","parameters":{"id":5504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5503,"mutability":"mutable","name":"self","nameLocation":"8781:4:6","nodeType":"VariableDeclaration","scope":5531,"src":"8762:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5502,"nodeType":"UserDefinedTypeName","pathNode":{"id":5501,"name":"StdStorage","nameLocations":["8762:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"8762:10:6"},"referencedDeclaration":4565,"src":"8762:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8761:25:6"},"returnParameters":{"id":5507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5506,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5531,"src":"8805:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5505,"name":"bool","nodeType":"ElementaryTypeName","src":"8805:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8804:6:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5550,"nodeType":"FunctionDefinition","src":"9028:131:6","nodes":[],"body":{"id":5549,"nodeType":"Block","src":"9102:57:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":5542,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"9135:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5541,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5481,"src":"9130:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":5543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9130:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9143:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5544,"name":"address","nodeType":"ElementaryTypeName","src":"9143:7:6","typeDescriptions":{}}}],"id":5546,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9142:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":5539,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9119:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9123:6:6","memberName":"decode","nodeType":"MemberAccess","src":"9119:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":5538,"id":5548,"nodeType":"Return","src":"9112:40:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"9037:12:6","parameters":{"id":5535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5534,"mutability":"mutable","name":"self","nameLocation":"9069:4:6","nodeType":"VariableDeclaration","scope":5550,"src":"9050:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5533,"nodeType":"UserDefinedTypeName","pathNode":{"id":5532,"name":"StdStorage","nameLocations":["9050:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"9050:10:6"},"referencedDeclaration":4565,"src":"9050:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9049:25:6"},"returnParameters":{"id":5538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5550,"src":"9093:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5536,"name":"address","nodeType":"ElementaryTypeName","src":"9093:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9092:9:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5569,"nodeType":"FunctionDefinition","src":"9165:128:6","nodes":[],"body":{"id":5568,"nodeType":"Block","src":"9236:57:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":5561,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5553,"src":"9269:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5560,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5481,"src":"9264:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":5562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9264:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9277:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5563,"name":"uint256","nodeType":"ElementaryTypeName","src":"9277:7:6","typeDescriptions":{}}}],"id":5565,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9276:9:6","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":5558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9253:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9257:6:6","memberName":"decode","nodeType":"MemberAccess","src":"9253:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9253:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5557,"id":5567,"nodeType":"Return","src":"9246:40:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"9174:9:6","parameters":{"id":5554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5553,"mutability":"mutable","name":"self","nameLocation":"9203:4:6","nodeType":"VariableDeclaration","scope":5569,"src":"9184:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5552,"nodeType":"UserDefinedTypeName","pathNode":{"id":5551,"name":"StdStorage","nameLocations":["9184:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"9184:10:6"},"referencedDeclaration":4565,"src":"9184:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9183:25:6"},"returnParameters":{"id":5557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5569,"src":"9227:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5555,"name":"uint256","nodeType":"ElementaryTypeName","src":"9227:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9226:9:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5588,"nodeType":"FunctionDefinition","src":"9299:125:6","nodes":[],"body":{"id":5587,"nodeType":"Block","src":"9368:56:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":5580,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5572,"src":"9401:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":5579,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5481,"src":"9396:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":5581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9396:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9409:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":5582,"name":"int256","nodeType":"ElementaryTypeName","src":"9409:6:6","typeDescriptions":{}}}],"id":5584,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9408:8:6","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"expression":{"id":5577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9385:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9389:6:6","memberName":"decode","nodeType":"MemberAccess","src":"9385:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9385:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":5576,"id":5586,"nodeType":"Return","src":"9378:39:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"9308:8:6","parameters":{"id":5573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5572,"mutability":"mutable","name":"self","nameLocation":"9336:4:6","nodeType":"VariableDeclaration","scope":5588,"src":"9317:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5571,"nodeType":"UserDefinedTypeName","pathNode":{"id":5570,"name":"StdStorage","nameLocations":["9317:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"9317:10:6"},"referencedDeclaration":4565,"src":"9317:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9316:25:6"},"returnParameters":{"id":5576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5588,"src":"9360:6:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":5574,"name":"int256","nodeType":"ElementaryTypeName","src":"9360:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9359:8:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5654,"nodeType":"FunctionDefinition","src":"9430:621:6","nodes":[],"body":{"id":5653,"nodeType":"Block","src":"9507:544:6","nodes":[],"statements":[{"assignments":[5599],"declarations":[{"constant":false,"id":5599,"mutability":"mutable","name":"who","nameLocation":"9525:3:6","nodeType":"VariableDeclaration","scope":5653,"src":"9517:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5598,"name":"address","nodeType":"ElementaryTypeName","src":"9517:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5602,"initialValue":{"expression":{"id":5600,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5591,"src":"9531:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9536:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"9531:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9517:26:6"},{"assignments":[5604],"declarations":[{"constant":false,"id":5604,"mutability":"mutable","name":"field_depth","nameLocation":"9561:11:6","nodeType":"VariableDeclaration","scope":5653,"src":"9553:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5603,"name":"uint256","nodeType":"ElementaryTypeName","src":"9553:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5607,"initialValue":{"expression":{"id":5605,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5591,"src":"9575:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5606,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9580:6:6","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":4556,"src":"9575:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9553:33:6"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5608,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"9596:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9599:21:6","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":9232,"src":"9596:24:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5612,"nodeType":"ExpressionStatement","src":"9596:26:6"},{"assignments":[5614],"declarations":[{"constant":false,"id":5614,"mutability":"mutable","name":"child","nameLocation":"9640:5:6","nodeType":"VariableDeclaration","scope":5653,"src":"9632:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5613,"name":"uint256","nodeType":"ElementaryTypeName","src":"9632:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5622,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":5616,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5591,"src":"9653:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":5617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9659:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5615,"name":"find","nodeType":"Identifier","overloadedDeclarations":[4925,5226],"referencedDeclaration":5226,"src":"9648:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$4540_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":5618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9648:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":5619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9665:4:6","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":4533,"src":"9648:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5620,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5604,"src":"9672:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9648:35:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9632:51:6"},{"assignments":[5624,5626,5628],"declarations":[{"constant":false,"id":5624,"mutability":"mutable","name":"found","nameLocation":"9699:5:6","nodeType":"VariableDeclaration","scope":5653,"src":"9694:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5623,"name":"bool","nodeType":"ElementaryTypeName","src":"9694:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5626,"mutability":"mutable","name":"key","nameLocation":"9714:3:6","nodeType":"VariableDeclaration","scope":5653,"src":"9706:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5625,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9706:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5628,"mutability":"mutable","name":"parent_slot","nameLocation":"9727:11:6","nodeType":"VariableDeclaration","scope":5653,"src":"9719:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9719:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5637,"initialValue":{"arguments":[{"id":5631,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5599,"src":"9770:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5634,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5614,"src":"9783:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9775:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9775:7:6","typeDescriptions":{}}},"id":5635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9775:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5629,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"9742:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:24:6","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":9095,"src":"9742:27:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) external returns (bool,bytes32,bytes32)"}},"id":5636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"9693:97:6"},{"condition":{"id":5639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9804:6:6","subExpression":{"id":5638,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5624,"src":"9805:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5645,"nodeType":"IfStatement","src":"9800:201:6","trueBody":{"id":5644,"nodeType":"Block","src":"9812:189:6","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":5641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9850:126:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":5640,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9826:6:6","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9826:164:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5643,"nodeType":"ExpressionStatement","src":"9826:164:6"}]}},{"expression":{"components":[{"arguments":[{"id":5648,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5628,"src":"10026:11:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10018:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5646,"name":"uint256","nodeType":"ElementaryTypeName","src":"10018:7:6","typeDescriptions":{}}},"id":5649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10018:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5650,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5626,"src":"10040:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":5651,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10017:27:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":5597,"id":5652,"nodeType":"Return","src":"10010:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"9439:6:6","parameters":{"id":5592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5591,"mutability":"mutable","name":"self","nameLocation":"9465:4:6","nodeType":"VariableDeclaration","scope":5654,"src":"9446:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5590,"nodeType":"UserDefinedTypeName","pathNode":{"id":5589,"name":"StdStorage","nameLocations":["9446:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"9446:10:6"},"referencedDeclaration":4565,"src":"9446:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9445:25:6"},"returnParameters":{"id":5597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5654,"src":"9489:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5593,"name":"uint256","nodeType":"ElementaryTypeName","src":"9489:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5654,"src":"9498:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9498:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9488:18:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5743,"nodeType":"FunctionDefinition","src":"10057:813:6","nodes":[],"body":{"id":5742,"nodeType":"Block","src":"10123:747:6","nodes":[],"statements":[{"assignments":[5663],"declarations":[{"constant":false,"id":5663,"mutability":"mutable","name":"who","nameLocation":"10141:3:6","nodeType":"VariableDeclaration","scope":5742,"src":"10133:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5662,"name":"address","nodeType":"ElementaryTypeName","src":"10133:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5666,"initialValue":{"expression":{"id":5664,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5657,"src":"10147:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10152:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"10147:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10133:26:6"},{"assignments":[5668],"declarations":[{"constant":false,"id":5668,"mutability":"mutable","name":"field_depth","nameLocation":"10177:11:6","nodeType":"VariableDeclaration","scope":5742,"src":"10169:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5667,"name":"uint256","nodeType":"ElementaryTypeName","src":"10169:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5671,"initialValue":{"expression":{"id":5669,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5657,"src":"10191:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10196:6:6","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":4556,"src":"10191:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10169:33:6"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5672,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"10212:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10215:21:6","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":9232,"src":"10212:24:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10212:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5676,"nodeType":"ExpressionStatement","src":"10212:26:6"},{"assignments":[5678],"declarations":[{"constant":false,"id":5678,"mutability":"mutable","name":"child","nameLocation":"10256:5:6","nodeType":"VariableDeclaration","scope":5742,"src":"10248:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5677,"name":"uint256","nodeType":"ElementaryTypeName","src":"10248:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5686,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":5680,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5657,"src":"10269:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":5681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10275:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5679,"name":"find","nodeType":"Identifier","overloadedDeclarations":[4925,5226],"referencedDeclaration":5226,"src":"10264:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$4540_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":5682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10264:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":5683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10281:4:6","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":4533,"src":"10264:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5684,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5668,"src":"10288:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10264:35:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10248:51:6"},{"assignments":[5688],"declarations":[{"constant":false,"id":5688,"mutability":"mutable","name":"found","nameLocation":"10314:5:6","nodeType":"VariableDeclaration","scope":5742,"src":"10309:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5687,"name":"bool","nodeType":"ElementaryTypeName","src":"10309:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5689,"nodeType":"VariableDeclarationStatement","src":"10309:10:6"},{"assignments":[5691],"declarations":[{"constant":false,"id":5691,"mutability":"mutable","name":"root_slot","nameLocation":"10337:9:6","nodeType":"VariableDeclaration","scope":5742,"src":"10329:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10329:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5692,"nodeType":"VariableDeclarationStatement","src":"10329:17:6"},{"assignments":[5694],"declarations":[{"constant":false,"id":5694,"mutability":"mutable","name":"parent_slot","nameLocation":"10364:11:6","nodeType":"VariableDeclaration","scope":5742,"src":"10356:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10356:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5695,"nodeType":"VariableDeclarationStatement","src":"10356:19:6"},{"expression":{"id":5707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5696,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5688,"src":"10386:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":5697,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"10394:11:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":5698,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10385:21:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5701,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5663,"src":"10437:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5704,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5678,"src":"10450:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10442:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10442:7:6","typeDescriptions":{}}},"id":5705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10442:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5699,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"10409:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10412:24:6","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":9095,"src":"10409:27:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) external returns (bool,bytes32,bytes32)"}},"id":5706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10409:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10385:72:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5708,"nodeType":"ExpressionStatement","src":"10385:72:6"},{"condition":{"id":5710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10471:6:6","subExpression":{"id":5709,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5688,"src":"10472:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5716,"nodeType":"IfStatement","src":"10467:201:6","trueBody":{"id":5715,"nodeType":"Block","src":"10479:189:6","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":5712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10517:126:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":5711,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"10493:6:6","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":5713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10493:164:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5714,"nodeType":"ExpressionStatement","src":"10493:164:6"}]}},{"body":{"id":5735,"nodeType":"Block","src":"10691:138:6","statements":[{"expression":{"id":5720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5718,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5691,"src":"10705:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5719,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"10717:11:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10705:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5721,"nodeType":"ExpressionStatement","src":"10705:23:6"},{"expression":{"id":5733,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5722,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5688,"src":"10743:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":5723,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"10751:11:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":5724,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10742:21:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5727,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5663,"src":"10794:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":5730,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5691,"src":"10807:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10799:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10799:7:6","typeDescriptions":{}}},"id":5731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10799:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5725,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4598,"src":"10766:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":5726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10769:24:6","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":9095,"src":"10766:27:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) external returns (bool,bytes32,bytes32)"}},"id":5732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10766:52:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10742:76:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5734,"nodeType":"ExpressionStatement","src":"10742:76:6"}]},"condition":{"id":5717,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5688,"src":"10684:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5736,"nodeType":"WhileStatement","src":"10677:152:6"},{"expression":{"arguments":[{"id":5739,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5691,"src":"10853:9:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10845:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5737,"name":"uint256","nodeType":"ElementaryTypeName","src":"10845:7:6","typeDescriptions":{}}},"id":5740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10845:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5661,"id":5741,"nodeType":"Return","src":"10838:25:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"10066:4:6","parameters":{"id":5658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5657,"mutability":"mutable","name":"self","nameLocation":"10090:4:6","nodeType":"VariableDeclaration","scope":5743,"src":"10071:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5656,"nodeType":"UserDefinedTypeName","pathNode":{"id":5655,"name":"StdStorage","nameLocations":["10071:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"10071:10:6"},"referencedDeclaration":4565,"src":"10071:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10070:25:6"},"returnParameters":{"id":5661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5660,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5743,"src":"10114:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5659,"name":"uint256","nodeType":"ElementaryTypeName","src":"10114:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10113:9:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5799,"nodeType":"FunctionDefinition","src":"10876:304:6","nodes":[],"body":{"id":5798,"nodeType":"Block","src":"10963:217:6","nodes":[],"statements":[{"assignments":[5753],"declarations":[{"constant":false,"id":5753,"mutability":"mutable","name":"out","nameLocation":"10981:3:6","nodeType":"VariableDeclaration","scope":5798,"src":"10973:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10973:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5754,"nodeType":"VariableDeclarationStatement","src":"10973:11:6"},{"assignments":[5756],"declarations":[{"constant":false,"id":5756,"mutability":"mutable","name":"max","nameLocation":"11003:3:6","nodeType":"VariableDeclaration","scope":5798,"src":"10995:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5755,"name":"uint256","nodeType":"ElementaryTypeName","src":"10995:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5765,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5757,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5745,"src":"11009:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11011:6:6","memberName":"length","nodeType":"MemberAccess","src":"11009:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":5759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11009:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":5762,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5745,"src":"11030:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11032:6:6","memberName":"length","nodeType":"MemberAccess","src":"11030:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11009:29:6","trueExpression":{"hexValue":"3332","id":5761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11025:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10995:43:6"},{"body":{"id":5794,"nodeType":"Block","src":"11082:72:6","statements":[{"expression":{"id":5792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5776,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5753,"src":"11096:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":5791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":5785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":5779,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5745,"src":"11111:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5783,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5780,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5747,"src":"11113:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":5781,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5767,"src":"11122:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11113:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11111:13:6","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":5784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11127:4:6","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11111:20:6","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":5778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11103:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11103:7:6","typeDescriptions":{}}},"id":5786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11103:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5787,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5767,"src":"11137:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":5788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11141:1:6","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11137:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5790,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11136:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11103:40:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11096:47:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5793,"nodeType":"ExpressionStatement","src":"11096:47:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5770,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5767,"src":"11068:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5771,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5756,"src":"11072:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11068:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5795,"initializationExpression":{"assignments":[5767],"declarations":[{"constant":false,"id":5767,"mutability":"mutable","name":"i","nameLocation":"11061:1:6","nodeType":"VariableDeclaration","scope":5795,"src":"11053:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5766,"name":"uint256","nodeType":"ElementaryTypeName","src":"11053:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5769,"initialValue":{"hexValue":"30","id":5768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11065:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11053:13:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11077:3:6","subExpression":{"id":5773,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5767,"src":"11077:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5775,"nodeType":"ExpressionStatement","src":"11077:3:6"},"nodeType":"ForStatement","src":"11048:106:6"},{"expression":{"id":5796,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5753,"src":"11170:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5751,"id":5797,"nodeType":"Return","src":"11163:10:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"10885:14:6","parameters":{"id":5748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5745,"mutability":"mutable","name":"b","nameLocation":"10913:1:6","nodeType":"VariableDeclaration","scope":5799,"src":"10900:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5744,"name":"bytes","nodeType":"ElementaryTypeName","src":"10900:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5747,"mutability":"mutable","name":"offset","nameLocation":"10924:6:6","nodeType":"VariableDeclaration","scope":5799,"src":"10916:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5746,"name":"uint256","nodeType":"ElementaryTypeName","src":"10916:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10899:32:6"},"returnParameters":{"id":5751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5799,"src":"10954:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10954:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10953:9:6"},"scope":5917,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":5840,"nodeType":"FunctionDefinition","src":"11186:393:6","nodes":[],"body":{"id":5839,"nodeType":"Block","src":"11259:320:6","nodes":[],"statements":[{"assignments":[5808],"declarations":[{"constant":false,"id":5808,"mutability":"mutable","name":"result","nameLocation":"11282:6:6","nodeType":"VariableDeclaration","scope":5839,"src":"11269:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5807,"name":"bytes","nodeType":"ElementaryTypeName","src":"11269:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5816,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5811,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5802,"src":"11301:1:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11303:6:6","memberName":"length","nodeType":"MemberAccess","src":"11301:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":5813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11312:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11301:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11291:9:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":5809,"name":"bytes","nodeType":"ElementaryTypeName","src":"11295:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":5815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11291:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11269:46:6"},{"body":{"id":5835,"nodeType":"Block","src":"11364:185:6","statements":[{"assignments":[5829],"declarations":[{"constant":false,"id":5829,"mutability":"mutable","name":"k","nameLocation":"11386:1:6","nodeType":"VariableDeclaration","scope":5835,"src":"11378:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11378:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5833,"initialValue":{"baseExpression":{"id":5830,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5802,"src":"11390:1:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5832,"indexExpression":{"id":5831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5818,"src":"11392:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11390:4:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11378:16:6"},{"AST":{"nativeSrc":"11464:75:6","nodeType":"YulBlock","src":"11464:75:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"11493:6:6","nodeType":"YulIdentifier","src":"11493:6:6"},{"arguments":[{"kind":"number","nativeSrc":"11505:2:6","nodeType":"YulLiteral","src":"11505:2:6","type":"","value":"32"},{"arguments":[{"kind":"number","nativeSrc":"11513:2:6","nodeType":"YulLiteral","src":"11513:2:6","type":"","value":"32"},{"name":"i","nativeSrc":"11517:1:6","nodeType":"YulIdentifier","src":"11517:1:6"}],"functionName":{"name":"mul","nativeSrc":"11509:3:6","nodeType":"YulIdentifier","src":"11509:3:6"},"nativeSrc":"11509:10:6","nodeType":"YulFunctionCall","src":"11509:10:6"}],"functionName":{"name":"add","nativeSrc":"11501:3:6","nodeType":"YulIdentifier","src":"11501:3:6"},"nativeSrc":"11501:19:6","nodeType":"YulFunctionCall","src":"11501:19:6"}],"functionName":{"name":"add","nativeSrc":"11489:3:6","nodeType":"YulIdentifier","src":"11489:3:6"},"nativeSrc":"11489:32:6","nodeType":"YulFunctionCall","src":"11489:32:6"},{"name":"k","nativeSrc":"11523:1:6","nodeType":"YulIdentifier","src":"11523:1:6"}],"functionName":{"name":"mstore","nativeSrc":"11482:6:6","nodeType":"YulIdentifier","src":"11482:6:6"},"nativeSrc":"11482:43:6","nodeType":"YulFunctionCall","src":"11482:43:6"},"nativeSrc":"11482:43:6","nodeType":"YulExpressionStatement","src":"11482:43:6"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5818,"isOffset":false,"isSlot":false,"src":"11517:1:6","valueSize":1},{"declaration":5829,"isOffset":false,"isSlot":false,"src":"11523:1:6","valueSize":1},{"declaration":5808,"isOffset":false,"isSlot":false,"src":"11493:6:6","valueSize":1}],"id":5834,"nodeType":"InlineAssembly","src":"11455:84:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5821,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5818,"src":"11345:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5822,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5802,"src":"11349:1:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11351:6:6","memberName":"length","nodeType":"MemberAccess","src":"11349:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11345:12:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5836,"initializationExpression":{"assignments":[5818],"declarations":[{"constant":false,"id":5818,"mutability":"mutable","name":"i","nameLocation":"11338:1:6","nodeType":"VariableDeclaration","scope":5836,"src":"11330:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5817,"name":"uint256","nodeType":"ElementaryTypeName","src":"11330:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5820,"initialValue":{"hexValue":"30","id":5819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11342:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11330:13:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11359:3:6","subExpression":{"id":5825,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5818,"src":"11359:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5827,"nodeType":"ExpressionStatement","src":"11359:3:6"},"nodeType":"ForStatement","src":"11325:224:6"},{"expression":{"id":5837,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5808,"src":"11566:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":5806,"id":5838,"nodeType":"Return","src":"11559:13:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11195:7:6","parameters":{"id":5803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5802,"mutability":"mutable","name":"b","nameLocation":"11220:1:6","nodeType":"VariableDeclaration","scope":5840,"src":"11203:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":5800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11203:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5801,"nodeType":"ArrayTypeName","src":"11203:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11202:20:6"},"returnParameters":{"id":5806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5805,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5840,"src":"11245:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5804,"name":"bytes","nodeType":"ElementaryTypeName","src":"11245:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11244:14:6"},"scope":5917,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":5871,"nodeType":"FunctionDefinition","src":"11585:239:6","nodes":[],"body":{"id":5870,"nodeType":"Block","src":"11634:190:6","nodes":[],"statements":[{"expression":{"id":5848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11644:19:6","subExpression":{"expression":{"id":5846,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"11651:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5847,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11656:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"11651:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5849,"nodeType":"ExpressionStatement","src":"11644:19:6"},{"expression":{"id":5852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11673:16:6","subExpression":{"expression":{"id":5850,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"11680:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11685:4:6","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":4554,"src":"11680:9:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5853,"nodeType":"ExpressionStatement","src":"11673:16:6"},{"expression":{"id":5856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11699:17:6","subExpression":{"expression":{"id":5854,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"11706:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5855,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11711:5:6","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":4552,"src":"11706:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5857,"nodeType":"ExpressionStatement","src":"11699:17:6"},{"expression":{"id":5860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11726:18:6","subExpression":{"expression":{"id":5858,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"11733:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5859,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11738:6:6","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":4556,"src":"11733:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5861,"nodeType":"ExpressionStatement","src":"11726:18:6"},{"expression":{"id":5864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11754:32:6","subExpression":{"expression":{"id":5862,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"11761:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11766:20:6","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":4562,"src":"11761:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5865,"nodeType":"ExpressionStatement","src":"11754:32:6"},{"expression":{"id":5868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11796:21:6","subExpression":{"expression":{"id":5866,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"11803:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11808:9:6","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":4564,"src":"11803:14:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5869,"nodeType":"ExpressionStatement","src":"11796:21:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"11594:5:6","parameters":{"id":5844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5843,"mutability":"mutable","name":"self","nameLocation":"11619:4:6","nodeType":"VariableDeclaration","scope":5871,"src":"11600:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5842,"nodeType":"UserDefinedTypeName","pathNode":{"id":5841,"name":"StdStorage","nameLocations":["11600:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"11600:10:6"},"referencedDeclaration":4565,"src":"11600:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"11599:25:6"},"returnParameters":{"id":5845,"nodeType":"ParameterList","parameters":[],"src":"11634:0:6"},"scope":5917,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5882,"nodeType":"FunctionDefinition","src":"12017:376:6","nodes":[],"body":{"id":5881,"nodeType":"Block","src":"12121:272:6","nodes":[],"statements":[{"AST":{"nativeSrc":"12283:104:6","nodeType":"YulBlock","src":"12283:104:6","statements":[{"nativeSrc":"12297:80:6","nodeType":"YulAssignment","src":"12297:80:6","value":{"arguments":[{"name":"offsetRight","nativeSrc":"12309:11:6","nodeType":"YulIdentifier","src":"12309:11:6"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12334:3:6","nodeType":"YulLiteral","src":"12334:3:6","type":"","value":"256"},{"arguments":[{"name":"offsetRight","nativeSrc":"12343:11:6","nodeType":"YulIdentifier","src":"12343:11:6"},{"name":"offsetLeft","nativeSrc":"12356:10:6","nodeType":"YulIdentifier","src":"12356:10:6"}],"functionName":{"name":"add","nativeSrc":"12339:3:6","nodeType":"YulIdentifier","src":"12339:3:6"},"nativeSrc":"12339:28:6","nodeType":"YulFunctionCall","src":"12339:28:6"}],"functionName":{"name":"sub","nativeSrc":"12330:3:6","nodeType":"YulIdentifier","src":"12330:3:6"},"nativeSrc":"12330:38:6","nodeType":"YulFunctionCall","src":"12330:38:6"},{"kind":"number","nativeSrc":"12370:1:6","nodeType":"YulLiteral","src":"12370:1:6","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"12326:3:6","nodeType":"YulIdentifier","src":"12326:3:6"},"nativeSrc":"12326:46:6","nodeType":"YulFunctionCall","src":"12326:46:6"},{"kind":"number","nativeSrc":"12374:1:6","nodeType":"YulLiteral","src":"12374:1:6","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"12322:3:6","nodeType":"YulIdentifier","src":"12322:3:6"},"nativeSrc":"12322:54:6","nodeType":"YulFunctionCall","src":"12322:54:6"}],"functionName":{"name":"shl","nativeSrc":"12305:3:6","nodeType":"YulIdentifier","src":"12305:3:6"},"nativeSrc":"12305:72:6","nodeType":"YulFunctionCall","src":"12305:72:6"},"variableNames":[{"name":"mask","nativeSrc":"12297:4:6","nodeType":"YulIdentifier","src":"12297:4:6"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":5878,"isOffset":false,"isSlot":false,"src":"12297:4:6","valueSize":1},{"declaration":5873,"isOffset":false,"isSlot":false,"src":"12356:10:6","valueSize":1},{"declaration":5875,"isOffset":false,"isSlot":false,"src":"12309:11:6","valueSize":1},{"declaration":5875,"isOffset":false,"isSlot":false,"src":"12343:11:6","valueSize":1}],"id":5880,"nodeType":"InlineAssembly","src":"12274:113:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getMaskByOffsets","nameLocation":"12026:16:6","parameters":{"id":5876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5873,"mutability":"mutable","name":"offsetLeft","nameLocation":"12051:10:6","nodeType":"VariableDeclaration","scope":5882,"src":"12043:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5872,"name":"uint256","nodeType":"ElementaryTypeName","src":"12043:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5875,"mutability":"mutable","name":"offsetRight","nameLocation":"12071:11:6","nodeType":"VariableDeclaration","scope":5882,"src":"12063:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5874,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12042:41:6"},"returnParameters":{"id":5879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5878,"mutability":"mutable","name":"mask","nameLocation":"12115:4:6","nodeType":"VariableDeclaration","scope":5882,"src":"12107:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5877,"name":"uint256","nodeType":"ElementaryTypeName","src":"12107:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12106:14:6"},"scope":5917,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":5916,"nodeType":"FunctionDefinition","src":"12455:300:6","nodes":[],"body":{"id":5915,"nodeType":"Block","src":"12630:125:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5899,"name":"curValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5884,"src":"12664:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12656:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5897,"name":"uint256","nodeType":"ElementaryTypeName","src":"12656:7:6","typeDescriptions":{}}},"id":5900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12656:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":5905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"12676:42:6","subExpression":{"arguments":[{"id":5902,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5888,"src":"12694:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5903,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"12706:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5901,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5882,"src":"12677:16:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":5904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12677:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12656:62:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5907,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12655:64:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5908,"name":"varValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5886,"src":"12723:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":5909,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"12735:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12723:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5911,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12722:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12655:92:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12647:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":5895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12647:7:6","typeDescriptions":{}}},"id":5913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12647:101:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5894,"id":5914,"nodeType":"Return","src":"12640:108:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getUpdatedSlotValue","nameLocation":"12464:19:6","parameters":{"id":5891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5884,"mutability":"mutable","name":"curValue","nameLocation":"12492:8:6","nodeType":"VariableDeclaration","scope":5916,"src":"12484:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12484:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":5886,"mutability":"mutable","name":"varValue","nameLocation":"12510:8:6","nodeType":"VariableDeclaration","scope":5916,"src":"12502:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5885,"name":"uint256","nodeType":"ElementaryTypeName","src":"12502:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5888,"mutability":"mutable","name":"offsetLeft","nameLocation":"12528:10:6","nodeType":"VariableDeclaration","scope":5916,"src":"12520:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5887,"name":"uint256","nodeType":"ElementaryTypeName","src":"12520:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5890,"mutability":"mutable","name":"offsetRight","nameLocation":"12548:11:6","nodeType":"VariableDeclaration","scope":5916,"src":"12540:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5889,"name":"uint256","nodeType":"ElementaryTypeName","src":"12540:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12483:77:6"},"returnParameters":{"id":5894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5893,"mutability":"mutable","name":"newValue","nameLocation":"12616:8:6","nodeType":"VariableDeclaration","scope":5916,"src":"12608:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12608:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12607:18:6"},"scope":5917,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[5917],"name":"stdStorageSafe","nameLocation":"458:14:6","scope":6523,"usedErrors":[],"usedEvents":[4575,4581]},{"id":6522,"nodeType":"ContractDefinition","src":"12759:5081:6","nodes":[{"id":5934,"nodeType":"VariableDeclaration","src":"12784:84:6","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"12804:2:6","scope":6522,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"},"typeName":{"id":5919,"nodeType":"UserDefinedTypeName","pathNode":{"id":5918,"name":"Vm","nameLocations":["12784:2:6"],"nodeType":"IdentifierPath","referencedDeclaration":12362,"src":"12784:2:6"},"referencedDeclaration":12362,"src":"12784:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":5928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12846:17:6","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":5927,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12836:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12836:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12828:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5925,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:6","typeDescriptions":{}}},"id":5930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12828:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12820:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":5923,"name":"uint160","nodeType":"ElementaryTypeName","src":"12820:7:6","typeDescriptions":{}}},"id":5931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12820:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12812:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5921,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:6","typeDescriptions":{}}},"id":5932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12812:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5920,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12362,"src":"12809:2:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12362_$","typeString":"type(contract Vm)"}},"id":5933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12809:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"visibility":"private"},{"id":5947,"nodeType":"FunctionDefinition","src":"12875:118:6","nodes":[],"body":{"id":5946,"nodeType":"Block","src":"12942:51:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":5943,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"12979:6:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5941,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"12959:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":5942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12974:4:6","memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":4619,"src":"12959:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":5944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":5940,"id":5945,"nodeType":"Return","src":"12952:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"12884:4:6","parameters":{"id":5937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5936,"mutability":"mutable","name":"sigStr","nameLocation":"12903:6:6","nodeType":"VariableDeclaration","scope":5947,"src":"12889:20:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5935,"name":"string","nodeType":"ElementaryTypeName","src":"12889:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12888:22:6"},"returnParameters":{"id":5940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5939,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5947,"src":"12934:6:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5938,"name":"bytes4","nodeType":"ElementaryTypeName","src":"12934:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"12933:8:6"},"scope":6522,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":5961,"nodeType":"FunctionDefinition","src":"12999:106:6","nodes":[],"body":{"id":5960,"nodeType":"Block","src":"13065:40:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":5956,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5950,"src":"13087:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":5957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13093:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5955,"name":"find","nodeType":"Identifier","overloadedDeclarations":[5961,5979],"referencedDeclaration":5979,"src":"13082:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":5958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13082:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5954,"id":5959,"nodeType":"Return","src":"13075:23:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13008:4:6","parameters":{"id":5951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5950,"mutability":"mutable","name":"self","nameLocation":"13032:4:6","nodeType":"VariableDeclaration","scope":5961,"src":"13013:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5949,"nodeType":"UserDefinedTypeName","pathNode":{"id":5948,"name":"StdStorage","nameLocations":["13013:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13013:10:6"},"referencedDeclaration":4565,"src":"13013:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13012:25:6"},"returnParameters":{"id":5954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5961,"src":"13056:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5952,"name":"uint256","nodeType":"ElementaryTypeName","src":"13056:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13055:9:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5979,"nodeType":"FunctionDefinition","src":"13111:141:6","nodes":[],"body":{"id":5978,"nodeType":"Block","src":"13190:62:6","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":5973,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5964,"src":"13227:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":5974,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5966,"src":"13233:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5971,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"13207:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":5972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13222:4:6","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":5226,"src":"13207:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$4540_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":5975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13207:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":5976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13241:4:6","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":4533,"src":"13207:38:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5970,"id":5977,"nodeType":"Return","src":"13200:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13120:4:6","parameters":{"id":5967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5964,"mutability":"mutable","name":"self","nameLocation":"13144:4:6","nodeType":"VariableDeclaration","scope":5979,"src":"13125:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5963,"nodeType":"UserDefinedTypeName","pathNode":{"id":5962,"name":"StdStorage","nameLocations":["13125:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13125:10:6"},"referencedDeclaration":4565,"src":"13125:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5966,"mutability":"mutable","name":"_clear","nameLocation":"13155:6:6","nodeType":"VariableDeclaration","scope":5979,"src":"13150:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5965,"name":"bool","nodeType":"ElementaryTypeName","src":"13150:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13124:38:6"},"returnParameters":{"id":5970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5979,"src":"13181:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5968,"name":"uint256","nodeType":"ElementaryTypeName","src":"13181:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13180:9:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5997,"nodeType":"FunctionDefinition","src":"13258:156:6","nodes":[],"body":{"id":5996,"nodeType":"Block","src":"13354:60:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":5992,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5982,"src":"13393:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":5993,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5984,"src":"13399:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5990,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"13371:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":5991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13386:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":5246,"src":"13371:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13371:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":5989,"id":5995,"nodeType":"Return","src":"13364:43:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"13267:6:6","parameters":{"id":5985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5982,"mutability":"mutable","name":"self","nameLocation":"13293:4:6","nodeType":"VariableDeclaration","scope":5997,"src":"13274:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5981,"nodeType":"UserDefinedTypeName","pathNode":{"id":5980,"name":"StdStorage","nameLocations":["13274:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13274:10:6"},"referencedDeclaration":4565,"src":"13274:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":5984,"mutability":"mutable","name":"_target","nameLocation":"13307:7:6","nodeType":"VariableDeclaration","scope":5997,"src":"13299:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5983,"name":"address","nodeType":"ElementaryTypeName","src":"13299:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13273:42:6"},"returnParameters":{"id":5989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5988,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5997,"src":"13334:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5987,"nodeType":"UserDefinedTypeName","pathNode":{"id":5986,"name":"StdStorage","nameLocations":["13334:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13334:10:6"},"referencedDeclaration":4565,"src":"13334:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13333:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6015,"nodeType":"FunctionDefinition","src":"13420:143:6","nodes":[],"body":{"id":6014,"nodeType":"Block","src":"13509:54:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6010,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6000,"src":"13545:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6011,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6002,"src":"13551:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":6008,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"13526:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13541:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":5266,"src":"13526:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6007,"id":6013,"nodeType":"Return","src":"13519:37:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13429:3:6","parameters":{"id":6003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6000,"mutability":"mutable","name":"self","nameLocation":"13452:4:6","nodeType":"VariableDeclaration","scope":6015,"src":"13433:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":5999,"nodeType":"UserDefinedTypeName","pathNode":{"id":5998,"name":"StdStorage","nameLocations":["13433:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13433:10:6"},"referencedDeclaration":4565,"src":"13433:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6002,"mutability":"mutable","name":"_sig","nameLocation":"13465:4:6","nodeType":"VariableDeclaration","scope":6015,"src":"13458:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":6001,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13458:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13432:38:6"},"returnParameters":{"id":6007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6015,"src":"13489:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6005,"nodeType":"UserDefinedTypeName","pathNode":{"id":6004,"name":"StdStorage","nameLocations":["13489:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13489:10:6"},"referencedDeclaration":4565,"src":"13489:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13488:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6033,"nodeType":"FunctionDefinition","src":"13569:150:6","nodes":[],"body":{"id":6032,"nodeType":"Block","src":"13665:54:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6028,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6018,"src":"13701:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6029,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6020,"src":"13707:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6026,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"13682:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13697:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":5288,"src":"13682:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":6030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13682:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6025,"id":6031,"nodeType":"Return","src":"13675:37:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13578:3:6","parameters":{"id":6021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6018,"mutability":"mutable","name":"self","nameLocation":"13601:4:6","nodeType":"VariableDeclaration","scope":6033,"src":"13582:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6017,"nodeType":"UserDefinedTypeName","pathNode":{"id":6016,"name":"StdStorage","nameLocations":["13582:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13582:10:6"},"referencedDeclaration":4565,"src":"13582:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6020,"mutability":"mutable","name":"_sig","nameLocation":"13621:4:6","nodeType":"VariableDeclaration","scope":6033,"src":"13607:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6019,"name":"string","nodeType":"ElementaryTypeName","src":"13607:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13581:45:6"},"returnParameters":{"id":6025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6033,"src":"13645:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6023,"nodeType":"UserDefinedTypeName","pathNode":{"id":6022,"name":"StdStorage","nameLocations":["13645:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13645:10:6"},"referencedDeclaration":4565,"src":"13645:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13644:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6051,"nodeType":"FunctionDefinition","src":"13725:152:6","nodes":[],"body":{"id":6050,"nodeType":"Block","src":"13819:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6046,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6036,"src":"13860:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6047,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6038,"src":"13866:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6044,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"13836:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13851:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":5339,"src":"13836:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13836:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6043,"id":6049,"nodeType":"Return","src":"13829:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13734:8:6","parameters":{"id":6039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6036,"mutability":"mutable","name":"self","nameLocation":"13762:4:6","nodeType":"VariableDeclaration","scope":6051,"src":"13743:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6035,"nodeType":"UserDefinedTypeName","pathNode":{"id":6034,"name":"StdStorage","nameLocations":["13743:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13743:10:6"},"referencedDeclaration":4565,"src":"13743:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6038,"mutability":"mutable","name":"who","nameLocation":"13776:3:6","nodeType":"VariableDeclaration","scope":6051,"src":"13768:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6037,"name":"address","nodeType":"ElementaryTypeName","src":"13768:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13742:38:6"},"returnParameters":{"id":6043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6051,"src":"13799:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6041,"nodeType":"UserDefinedTypeName","pathNode":{"id":6040,"name":"StdStorage","nameLocations":["13799:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13799:10:6"},"referencedDeclaration":4565,"src":"13799:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13798:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6069,"nodeType":"FunctionDefinition","src":"13883:152:6","nodes":[],"body":{"id":6068,"nodeType":"Block","src":"13977:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6064,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6054,"src":"14018:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6065,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6056,"src":"14024:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6062,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"13994:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14009:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":5364,"src":"13994:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13994:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6061,"id":6067,"nodeType":"Return","src":"13987:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13892:8:6","parameters":{"id":6057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6054,"mutability":"mutable","name":"self","nameLocation":"13920:4:6","nodeType":"VariableDeclaration","scope":6069,"src":"13901:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6053,"nodeType":"UserDefinedTypeName","pathNode":{"id":6052,"name":"StdStorage","nameLocations":["13901:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13901:10:6"},"referencedDeclaration":4565,"src":"13901:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6056,"mutability":"mutable","name":"amt","nameLocation":"13934:3:6","nodeType":"VariableDeclaration","scope":6069,"src":"13926:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6055,"name":"uint256","nodeType":"ElementaryTypeName","src":"13926:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13900:38:6"},"returnParameters":{"id":6061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6069,"src":"13957:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6059,"nodeType":"UserDefinedTypeName","pathNode":{"id":6058,"name":"StdStorage","nameLocations":["13957:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"13957:10:6"},"referencedDeclaration":4565,"src":"13957:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13956:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6087,"nodeType":"FunctionDefinition","src":"14041:152:6","nodes":[],"body":{"id":6086,"nodeType":"Block","src":"14135:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6082,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6072,"src":"14176:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6083,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6074,"src":"14182:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6080,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"14152:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14167:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":5386,"src":"14152:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":6084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14152:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6079,"id":6085,"nodeType":"Return","src":"14145:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"14050:8:6","parameters":{"id":6075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6072,"mutability":"mutable","name":"self","nameLocation":"14078:4:6","nodeType":"VariableDeclaration","scope":6087,"src":"14059:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6071,"nodeType":"UserDefinedTypeName","pathNode":{"id":6070,"name":"StdStorage","nameLocations":["14059:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14059:10:6"},"referencedDeclaration":4565,"src":"14059:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6074,"mutability":"mutable","name":"key","nameLocation":"14092:3:6","nodeType":"VariableDeclaration","scope":6087,"src":"14084:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14084:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14058:38:6"},"returnParameters":{"id":6079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6078,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6087,"src":"14115:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6077,"nodeType":"UserDefinedTypeName","pathNode":{"id":6076,"name":"StdStorage","nameLocations":["14115:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14115:10:6"},"referencedDeclaration":4565,"src":"14115:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14114:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6105,"nodeType":"FunctionDefinition","src":"14199:179:6","nodes":[],"body":{"id":6104,"nodeType":"Block","src":"14309:69:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6100,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6090,"src":"14355:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6101,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6092,"src":"14361:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6098,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"14326:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14341:13:6","memberName":"with_calldata","nodeType":"MemberAccess","referencedDeclaration":5308,"src":"14326:28:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes memory) returns (struct StdStorage storage pointer)"}},"id":6102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14326:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6097,"id":6103,"nodeType":"Return","src":"14319:52:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"14208:13:6","parameters":{"id":6093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6090,"mutability":"mutable","name":"self","nameLocation":"14241:4:6","nodeType":"VariableDeclaration","scope":6105,"src":"14222:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6089,"nodeType":"UserDefinedTypeName","pathNode":{"id":6088,"name":"StdStorage","nameLocations":["14222:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14222:10:6"},"referencedDeclaration":4565,"src":"14222:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6092,"mutability":"mutable","name":"_calldata","nameLocation":"14260:9:6","nodeType":"VariableDeclaration","scope":6105,"src":"14247:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6091,"name":"bytes","nodeType":"ElementaryTypeName","src":"14247:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14221:49:6"},"returnParameters":{"id":6097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6096,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6105,"src":"14289:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6095,"nodeType":"UserDefinedTypeName","pathNode":{"id":6094,"name":"StdStorage","nameLocations":["14289:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14289:10:6"},"referencedDeclaration":4565,"src":"14289:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14288:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6120,"nodeType":"FunctionDefinition","src":"14384:156:6","nodes":[],"body":{"id":6119,"nodeType":"Block","src":"14476:64:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6116,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6108,"src":"14528:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6114,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"14493:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14508:19:6","memberName":"enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":5404,"src":"14493:34:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (struct StdStorage storage pointer)"}},"id":6117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14493:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6113,"id":6118,"nodeType":"Return","src":"14486:47:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"14393:19:6","parameters":{"id":6109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6108,"mutability":"mutable","name":"self","nameLocation":"14432:4:6","nodeType":"VariableDeclaration","scope":6120,"src":"14413:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6107,"nodeType":"UserDefinedTypeName","pathNode":{"id":6106,"name":"StdStorage","nameLocations":["14413:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14413:10:6"},"referencedDeclaration":4565,"src":"14413:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14412:25:6"},"returnParameters":{"id":6113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6120,"src":"14456:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6111,"nodeType":"UserDefinedTypeName","pathNode":{"id":6110,"name":"StdStorage","nameLocations":["14456:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14456:10:6"},"referencedDeclaration":4565,"src":"14456:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14455:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6138,"nodeType":"FunctionDefinition","src":"14546:152:6","nodes":[],"body":{"id":6137,"nodeType":"Block","src":"14640:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6133,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6123,"src":"14678:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6134,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6125,"src":"14684:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6131,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"14657:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14672:5:6","memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":5424,"src":"14657:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$4565_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14657:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":6130,"id":6136,"nodeType":"Return","src":"14650:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"14555:5:6","parameters":{"id":6126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6123,"mutability":"mutable","name":"self","nameLocation":"14580:4:6","nodeType":"VariableDeclaration","scope":6138,"src":"14561:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6122,"nodeType":"UserDefinedTypeName","pathNode":{"id":6121,"name":"StdStorage","nameLocations":["14561:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14561:10:6"},"referencedDeclaration":4565,"src":"14561:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6125,"mutability":"mutable","name":"_depth","nameLocation":"14594:6:6","nodeType":"VariableDeclaration","scope":6138,"src":"14586:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6124,"name":"uint256","nodeType":"ElementaryTypeName","src":"14586:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14560:41:6"},"returnParameters":{"id":6130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6129,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6138,"src":"14620:18:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6128,"nodeType":"UserDefinedTypeName","pathNode":{"id":6127,"name":"StdStorage","nameLocations":["14620:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14620:10:6"},"referencedDeclaration":4565,"src":"14620:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14619:20:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6151,"nodeType":"FunctionDefinition","src":"14704:92:6","nodes":[],"body":{"id":6150,"nodeType":"Block","src":"14753:43:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6147,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6141,"src":"14784:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6144,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"14763:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14778:5:6","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":5871,"src":"14763:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":6148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14763:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6149,"nodeType":"ExpressionStatement","src":"14763:26:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"14713:5:6","parameters":{"id":6142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6141,"mutability":"mutable","name":"self","nameLocation":"14738:4:6","nodeType":"VariableDeclaration","scope":6151,"src":"14719:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6140,"nodeType":"UserDefinedTypeName","pathNode":{"id":6139,"name":"StdStorage","nameLocations":["14719:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14719:10:6"},"referencedDeclaration":4565,"src":"14719:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14718:25:6"},"returnParameters":{"id":6143,"nodeType":"ParameterList","parameters":[],"src":"14753:0:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6174,"nodeType":"FunctionDefinition","src":"14802:138:6","nodes":[],"body":{"id":6173,"nodeType":"Block","src":"14872:68:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6160,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6154,"src":"14896:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":6167,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6156,"src":"14926:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14918:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6165,"name":"uint160","nodeType":"ElementaryTypeName","src":"14918:7:6","typeDescriptions":{}}},"id":6168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14918:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14910:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6163,"name":"uint256","nodeType":"ElementaryTypeName","src":"14910:7:6","typeDescriptions":{}}},"id":6169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14910:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14902:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14902:7:6","typeDescriptions":{}}},"id":6170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6159,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[6174,6191,6229,6421],"referencedDeclaration":6421,"src":"14882:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":6171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14882:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6172,"nodeType":"ExpressionStatement","src":"14882:51:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14811:13:6","parameters":{"id":6157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6154,"mutability":"mutable","name":"self","nameLocation":"14844:4:6","nodeType":"VariableDeclaration","scope":6174,"src":"14825:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6153,"nodeType":"UserDefinedTypeName","pathNode":{"id":6152,"name":"StdStorage","nameLocations":["14825:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14825:10:6"},"referencedDeclaration":4565,"src":"14825:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6156,"mutability":"mutable","name":"who","nameLocation":"14858:3:6","nodeType":"VariableDeclaration","scope":6174,"src":"14850:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6155,"name":"address","nodeType":"ElementaryTypeName","src":"14850:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14824:38:6"},"returnParameters":{"id":6158,"nodeType":"ParameterList","parameters":[],"src":"14872:0:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6191,"nodeType":"FunctionDefinition","src":"14946:120:6","nodes":[],"body":{"id":6190,"nodeType":"Block","src":"15016:50:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6183,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6177,"src":"15040:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":6186,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6179,"src":"15054:3:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15046:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15046:7:6","typeDescriptions":{}}},"id":6187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15046:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6182,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[6174,6191,6229,6421],"referencedDeclaration":6421,"src":"15026:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":6188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15026:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6189,"nodeType":"ExpressionStatement","src":"15026:33:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14955:13:6","parameters":{"id":6180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6177,"mutability":"mutable","name":"self","nameLocation":"14988:4:6","nodeType":"VariableDeclaration","scope":6191,"src":"14969:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6176,"nodeType":"UserDefinedTypeName","pathNode":{"id":6175,"name":"StdStorage","nameLocations":["14969:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"14969:10:6"},"referencedDeclaration":4565,"src":"14969:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6179,"mutability":"mutable","name":"amt","nameLocation":"15002:3:6","nodeType":"VariableDeclaration","scope":6191,"src":"14994:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6178,"name":"uint256","nodeType":"ElementaryTypeName","src":"14994:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14968:38:6"},"returnParameters":{"id":6181,"nodeType":"ParameterList","parameters":[],"src":"15016:0:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6211,"nodeType":"FunctionDefinition","src":"15072:132:6","nodes":[],"body":{"id":6210,"nodeType":"Block","src":"15145:59:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6200,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6194,"src":"15169:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"id":6205,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6196,"src":"15191:3:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":6204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15183:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6203,"name":"uint256","nodeType":"ElementaryTypeName","src":"15183:7:6","typeDescriptions":{}}},"id":6206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15183:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15175:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15175:7:6","typeDescriptions":{}}},"id":6207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15175:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6199,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[6174,6191,6229,6421],"referencedDeclaration":6421,"src":"15155:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":6208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6209,"nodeType":"ExpressionStatement","src":"15155:42:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write_int","nameLocation":"15081:17:6","parameters":{"id":6197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6194,"mutability":"mutable","name":"self","nameLocation":"15118:4:6","nodeType":"VariableDeclaration","scope":6211,"src":"15099:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6193,"nodeType":"UserDefinedTypeName","pathNode":{"id":6192,"name":"StdStorage","nameLocations":["15099:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"15099:10:6"},"referencedDeclaration":4565,"src":"15099:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6196,"mutability":"mutable","name":"val","nameLocation":"15131:3:6","nodeType":"VariableDeclaration","scope":6211,"src":"15124:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6195,"name":"int256","nodeType":"ElementaryTypeName","src":"15124:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15098:37:6"},"returnParameters":{"id":6198,"nodeType":"ParameterList","parameters":[],"src":"15145:0:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6229,"nodeType":"FunctionDefinition","src":"15210:222:6","nodes":[],"body":{"id":6228,"nodeType":"Block","src":"15279:153:6","nodes":[],"statements":[{"assignments":[6220],"declarations":[{"constant":false,"id":6220,"mutability":"mutable","name":"t","nameLocation":"15297:1:6","nodeType":"VariableDeclaration","scope":6228,"src":"15289:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15289:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":6221,"nodeType":"VariableDeclarationStatement","src":"15289:9:6"},{"AST":{"nativeSrc":"15360:34:6","nodeType":"YulBlock","src":"15360:34:6","statements":[{"nativeSrc":"15374:10:6","nodeType":"YulAssignment","src":"15374:10:6","value":{"name":"write","nativeSrc":"15379:5:6","nodeType":"YulIdentifier","src":"15379:5:6"},"variableNames":[{"name":"t","nativeSrc":"15374:1:6","nodeType":"YulIdentifier","src":"15374:1:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":6220,"isOffset":false,"isSlot":false,"src":"15374:1:6","valueSize":1},{"declaration":6216,"isOffset":false,"isSlot":false,"src":"15379:5:6","valueSize":1}],"id":6222,"nodeType":"InlineAssembly","src":"15351:43:6"},{"expression":{"arguments":[{"id":6224,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6214,"src":"15417:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":6225,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6220,"src":"15423:1:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6223,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[6174,6191,6229,6421],"referencedDeclaration":6421,"src":"15403:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":6226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15403:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6227,"nodeType":"ExpressionStatement","src":"15403:22:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15219:13:6","parameters":{"id":6217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6214,"mutability":"mutable","name":"self","nameLocation":"15252:4:6","nodeType":"VariableDeclaration","scope":6229,"src":"15233:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6213,"nodeType":"UserDefinedTypeName","pathNode":{"id":6212,"name":"StdStorage","nameLocations":["15233:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"15233:10:6"},"referencedDeclaration":4565,"src":"15233:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6216,"mutability":"mutable","name":"write","nameLocation":"15263:5:6","nodeType":"VariableDeclaration","scope":6229,"src":"15258:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6215,"name":"bool","nodeType":"ElementaryTypeName","src":"15258:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15232:37:6"},"returnParameters":{"id":6218,"nodeType":"ParameterList","parameters":[],"src":"15279:0:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6421,"nodeType":"FunctionDefinition","src":"15438:1484:6","nodes":[],"body":{"id":6420,"nodeType":"Block","src":"15508:1414:6","nodes":[],"statements":[{"assignments":[6238],"declarations":[{"constant":false,"id":6238,"mutability":"mutable","name":"who","nameLocation":"15526:3:6","nodeType":"VariableDeclaration","scope":6420,"src":"15518:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6237,"name":"address","nodeType":"ElementaryTypeName","src":"15518:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":6241,"initialValue":{"expression":{"id":6239,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"15532:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15537:7:6","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":4558,"src":"15532:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15518:26:6"},{"assignments":[6243],"declarations":[{"constant":false,"id":6243,"mutability":"mutable","name":"fsig","nameLocation":"15561:4:6","nodeType":"VariableDeclaration","scope":6420,"src":"15554:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":6242,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15554:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":6246,"initialValue":{"expression":{"id":6244,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"15568:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15573:4:6","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":4554,"src":"15568:9:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"15554:23:6"},{"assignments":[6248],"declarations":[{"constant":false,"id":6248,"mutability":"mutable","name":"field_depth","nameLocation":"15595:11:6","nodeType":"VariableDeclaration","scope":6420,"src":"15587:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6247,"name":"uint256","nodeType":"ElementaryTypeName","src":"15587:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6251,"initialValue":{"expression":{"id":6249,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"15609:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15614:6:6","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":4556,"src":"15609:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15587:33:6"},{"assignments":[6253],"declarations":[{"constant":false,"id":6253,"mutability":"mutable","name":"params","nameLocation":"15643:6:6","nodeType":"VariableDeclaration","scope":6420,"src":"15630:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6252,"name":"bytes","nodeType":"ElementaryTypeName","src":"15630:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6258,"initialValue":{"arguments":[{"id":6256,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"15681:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6254,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"15652:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15667:13:6","memberName":"getCallParams","nodeType":"MemberAccess","referencedDeclaration":4644,"src":"15652:28:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":6257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15652:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15630:56:6"},{"condition":{"id":6274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15701:78:6","subExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":6259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"15702:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15707:5:6","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":4549,"src":"15702:10:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":6262,"indexExpression":{"id":6261,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6238,"src":"15713:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":6264,"indexExpression":{"id":6263,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6243,"src":"15718:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:21:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":6272,"indexExpression":{"arguments":[{"arguments":[{"id":6268,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6253,"src":"15751:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6269,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6248,"src":"15759:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15734:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15738:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"15734:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15734:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6265,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15724:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15724:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:71:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"id":6273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15774:5:6","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":4539,"src":"15702:77:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6281,"nodeType":"IfStatement","src":"15697:126:6","trueBody":{"id":6280,"nodeType":"Block","src":"15781:42:6","statements":[{"expression":{"arguments":[{"id":6276,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"15800:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":6277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15806:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":6275,"name":"find","nodeType":"Identifier","overloadedDeclarations":[5961,5979],"referencedDeclaration":5979,"src":"15795:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":6278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15795:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6279,"nodeType":"ExpressionStatement","src":"15795:17:6"}]}},{"assignments":[6284],"declarations":[{"constant":false,"id":6284,"mutability":"mutable","name":"data","nameLocation":"15849:4:6","nodeType":"VariableDeclaration","scope":6420,"src":"15832:21:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"},"typeName":{"id":6283,"nodeType":"UserDefinedTypeName","pathNode":{"id":6282,"name":"FindData","nameLocations":["15832:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4540,"src":"15832:8:6"},"referencedDeclaration":4540,"src":"15832:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":6299,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":6285,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"15856:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15861:5:6","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":4549,"src":"15856:10:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":6288,"indexExpression":{"id":6287,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6238,"src":"15867:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":6290,"indexExpression":{"id":6289,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6243,"src":"15872:4:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:21:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$4540_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":6298,"indexExpression":{"arguments":[{"arguments":[{"id":6294,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6253,"src":"15905:6:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6295,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6248,"src":"15913:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6292,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15888:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15892:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"15888:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15888:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6291,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15878:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15878:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:71:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage","typeString":"struct FindData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15832:95:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6300,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"15942:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15947:10:6","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":4535,"src":"15942:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":6302,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"15960:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:11:6","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":4537,"src":"15960:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15942:34:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6305,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15941:36:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15980:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15941:40:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6343,"nodeType":"IfStatement","src":"15937:460:6","trueBody":{"id":6342,"nodeType":"Block","src":"15983:414:6","statements":[{"assignments":[6309],"declarations":[{"constant":false,"id":6309,"mutability":"mutable","name":"maxVal","nameLocation":"16005:6:6","nodeType":"VariableDeclaration","scope":6342,"src":"15997:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6308,"name":"uint256","nodeType":"ElementaryTypeName","src":"15997:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6321,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":6310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16014:1:6","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":6311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:3:6","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6312,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"16027:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16032:10:6","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":4535,"src":"16027:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":6314,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"16045:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16050:11:6","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":4537,"src":"16045:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16027:34:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6317,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16026:36:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16020:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6319,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16019:44:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16014:49:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15997:66:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6325,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6234,"src":"16110:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16102:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6323,"name":"uint256","nodeType":"ElementaryTypeName","src":"16102:7:6","typeDescriptions":{}}},"id":6326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16102:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6327,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6309,"src":"16117:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16102:21:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e2057652063616e2774206669742076616c75652067726561746572207468616e20","id":6333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16211:76:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},"value":"stdStorage find(StdStorage): Packed slot. We can't fit value greater than "},{"arguments":[{"id":6336,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6309,"src":"16325:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6334,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5934,"src":"16313:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":6335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16316:8:6","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":10074,"src":"16313:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":6337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16313:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6331,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16169:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16173:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"16169:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16169:185:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16141:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":6329,"name":"string","nodeType":"ElementaryTypeName","src":"16141:6:6","typeDescriptions":{}}},"id":6339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16141:231:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":6322,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16077:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16077:309:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6341,"nodeType":"ExpressionStatement","src":"16077:309:6"}]}},{"assignments":[6345],"declarations":[{"constant":false,"id":6345,"mutability":"mutable","name":"curVal","nameLocation":"16414:6:6","nodeType":"VariableDeclaration","scope":6420,"src":"16406:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16406:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":6355,"initialValue":{"arguments":[{"id":6348,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6238,"src":"16431:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":6351,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"16444:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16449:4:6","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":4533,"src":"16444:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16436:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16436:7:6","typeDescriptions":{}}},"id":6353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16436:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6346,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5934,"src":"16423:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":6347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16426:4:6","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":9150,"src":"16423:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":6354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16423:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16406:49:6"},{"assignments":[6357],"declarations":[{"constant":false,"id":6357,"mutability":"mutable","name":"valToSet","nameLocation":"16473:8:6","nodeType":"VariableDeclaration","scope":6420,"src":"16465:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16465:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":6370,"initialValue":{"arguments":[{"id":6360,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6345,"src":"16519:6:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":6363,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6234,"src":"16535:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16527:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6361,"name":"uint256","nodeType":"ElementaryTypeName","src":"16527:7:6","typeDescriptions":{}}},"id":6364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16527:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6365,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"16541:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16546:10:6","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":4535,"src":"16541:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":6367,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"16558:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16563:11:6","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":4537,"src":"16558:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6358,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"16484:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16499:19:6","memberName":"getUpdatedSlotValue","nodeType":"MemberAccess","referencedDeclaration":5916,"src":"16484:34:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes32,uint256,uint256,uint256) pure returns (bytes32)"}},"id":6369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16484:91:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16465:110:6"},{"expression":{"arguments":[{"id":6374,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6238,"src":"16595:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":6377,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"16608:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16613:4:6","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":4533,"src":"16608:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16600:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16600:7:6","typeDescriptions":{}}},"id":6379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16600:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6380,"name":"valToSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6357,"src":"16620:8:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6371,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5934,"src":"16586:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":6373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16589:5:6","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":12165,"src":"16586:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":6381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16586:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6382,"nodeType":"ExpressionStatement","src":"16586:43:6"},{"assignments":[6384,6386],"declarations":[{"constant":false,"id":6384,"mutability":"mutable","name":"success","nameLocation":"16646:7:6","nodeType":"VariableDeclaration","scope":6420,"src":"16641:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6383,"name":"bool","nodeType":"ElementaryTypeName","src":"16641:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6386,"mutability":"mutable","name":"callResult","nameLocation":"16663:10:6","nodeType":"VariableDeclaration","scope":6420,"src":"16655:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16655:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":6391,"initialValue":{"arguments":[{"id":6389,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"16703:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6387,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"16677:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16692:10:6","memberName":"callTarget","nodeType":"MemberAccess","referencedDeclaration":4690,"src":"16677:25:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":6390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16677:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16640:68:6"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16723:8:6","subExpression":{"id":6392,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6384,"src":"16724:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":6396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6394,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6386,"src":"16735:10:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":6395,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6234,"src":"16749:3:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16735:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16723:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6415,"nodeType":"IfStatement","src":"16719:176:6","trueBody":{"id":6414,"nodeType":"Block","src":"16754:141:6","statements":[{"expression":{"arguments":[{"id":6401,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6238,"src":"16777:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":6404,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"16790:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$4540_storage_ptr","typeString":"struct FindData storage pointer"}},"id":6405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16795:4:6","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":4533,"src":"16790:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16782:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":6402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16782:7:6","typeDescriptions":{}}},"id":6406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16782:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":6407,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6345,"src":"16802:6:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6398,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5934,"src":"16768:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12362","typeString":"contract Vm"}},"id":6400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16771:5:6","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":12165,"src":"16768:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":6408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16768:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6409,"nodeType":"ExpressionStatement","src":"16768:41:6"},{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204661696c656420746f2077726974652076616c75652e","id":6411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16830:53:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""},"value":"stdStorage find(StdStorage): Failed to write value."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""}],"id":6410,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16823:6:6","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":6412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16823:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6413,"nodeType":"ExpressionStatement","src":"16823:61:6"}]}},{"expression":{"arguments":[{"id":6417,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6232,"src":"16910:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":6416,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6151,"src":"16904:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":6418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16904:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6419,"nodeType":"ExpressionStatement","src":"16904:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15447:13:6","parameters":{"id":6235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6232,"mutability":"mutable","name":"self","nameLocation":"15480:4:6","nodeType":"VariableDeclaration","scope":6421,"src":"15461:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6231,"nodeType":"UserDefinedTypeName","pathNode":{"id":6230,"name":"StdStorage","nameLocations":["15461:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"15461:10:6"},"referencedDeclaration":4565,"src":"15461:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":6234,"mutability":"mutable","name":"set","nameLocation":"15494:3:6","nodeType":"VariableDeclaration","scope":6421,"src":"15486:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15486:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15460:38:6"},"returnParameters":{"id":6236,"nodeType":"ParameterList","parameters":[],"src":"15508:0:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6435,"nodeType":"FunctionDefinition","src":"16928:131:6","nodes":[],"body":{"id":6434,"nodeType":"Block","src":"17002:57:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6431,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6424,"src":"17047:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6429,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"17019:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17034:12:6","memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":5500,"src":"17019:27:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":6432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17019:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":6428,"id":6433,"nodeType":"Return","src":"17012:40:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"16937:12:6","parameters":{"id":6425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6424,"mutability":"mutable","name":"self","nameLocation":"16969:4:6","nodeType":"VariableDeclaration","scope":6435,"src":"16950:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6423,"nodeType":"UserDefinedTypeName","pathNode":{"id":6422,"name":"StdStorage","nameLocations":["16950:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"16950:10:6"},"referencedDeclaration":4565,"src":"16950:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"16949:25:6"},"returnParameters":{"id":6428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6435,"src":"16993:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16993:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16992:9:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6449,"nodeType":"FunctionDefinition","src":"17065:122:6","nodes":[],"body":{"id":6448,"nodeType":"Block","src":"17133:54:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6445,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6438,"src":"17175:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6443,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"17150:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17165:9:6","memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":5531,"src":"17150:24:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":6446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17150:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6442,"id":6447,"nodeType":"Return","src":"17143:37:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"17074:9:6","parameters":{"id":6439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6438,"mutability":"mutable","name":"self","nameLocation":"17103:4:6","nodeType":"VariableDeclaration","scope":6449,"src":"17084:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6437,"nodeType":"UserDefinedTypeName","pathNode":{"id":6436,"name":"StdStorage","nameLocations":["17084:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"17084:10:6"},"referencedDeclaration":4565,"src":"17084:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17083:25:6"},"returnParameters":{"id":6442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6449,"src":"17127:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6440,"name":"bool","nodeType":"ElementaryTypeName","src":"17127:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17126:6:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6463,"nodeType":"FunctionDefinition","src":"17193:131:6","nodes":[],"body":{"id":6462,"nodeType":"Block","src":"17267:57:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6459,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6452,"src":"17312:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6457,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"17284:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17299:12:6","memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":5550,"src":"17284:27:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":6460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17284:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":6456,"id":6461,"nodeType":"Return","src":"17277:40:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"17202:12:6","parameters":{"id":6453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6452,"mutability":"mutable","name":"self","nameLocation":"17234:4:6","nodeType":"VariableDeclaration","scope":6463,"src":"17215:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6451,"nodeType":"UserDefinedTypeName","pathNode":{"id":6450,"name":"StdStorage","nameLocations":["17215:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"17215:10:6"},"referencedDeclaration":4565,"src":"17215:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17214:25:6"},"returnParameters":{"id":6456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6463,"src":"17258:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6454,"name":"address","nodeType":"ElementaryTypeName","src":"17258:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17257:9:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6477,"nodeType":"FunctionDefinition","src":"17330:125:6","nodes":[],"body":{"id":6476,"nodeType":"Block","src":"17401:54:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6473,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6466,"src":"17443:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6471,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"17418:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17433:9:6","memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":5569,"src":"17418:24:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":6474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6470,"id":6475,"nodeType":"Return","src":"17411:37:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"17339:9:6","parameters":{"id":6467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6466,"mutability":"mutable","name":"self","nameLocation":"17368:4:6","nodeType":"VariableDeclaration","scope":6477,"src":"17349:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6465,"nodeType":"UserDefinedTypeName","pathNode":{"id":6464,"name":"StdStorage","nameLocations":["17349:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"17349:10:6"},"referencedDeclaration":4565,"src":"17349:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17348:25:6"},"returnParameters":{"id":6470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6477,"src":"17392:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6468,"name":"uint256","nodeType":"ElementaryTypeName","src":"17392:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17391:9:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6491,"nodeType":"FunctionDefinition","src":"17461:122:6","nodes":[],"body":{"id":6490,"nodeType":"Block","src":"17530:53:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6487,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6480,"src":"17571:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6485,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"17547:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17562:8:6","memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":5588,"src":"17547:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":6488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17547:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":6484,"id":6489,"nodeType":"Return","src":"17540:36:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"17470:8:6","parameters":{"id":6481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6480,"mutability":"mutable","name":"self","nameLocation":"17498:4:6","nodeType":"VariableDeclaration","scope":6491,"src":"17479:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6479,"nodeType":"UserDefinedTypeName","pathNode":{"id":6478,"name":"StdStorage","nameLocations":["17479:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"17479:10:6"},"referencedDeclaration":4565,"src":"17479:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17478:25:6"},"returnParameters":{"id":6484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6491,"src":"17522:6:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6482,"name":"int256","nodeType":"ElementaryTypeName","src":"17522:6:6","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17521:8:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6507,"nodeType":"FunctionDefinition","src":"17589:128:6","nodes":[],"body":{"id":6506,"nodeType":"Block","src":"17666:51:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6503,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6494,"src":"17705:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6501,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"17683:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17698:6:6","memberName":"parent","nodeType":"MemberAccess","referencedDeclaration":5654,"src":"17683:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_uint256_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (uint256,bytes32)"}},"id":6504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":6500,"id":6505,"nodeType":"Return","src":"17676:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"17598:6:6","parameters":{"id":6495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6494,"mutability":"mutable","name":"self","nameLocation":"17624:4:6","nodeType":"VariableDeclaration","scope":6507,"src":"17605:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6493,"nodeType":"UserDefinedTypeName","pathNode":{"id":6492,"name":"StdStorage","nameLocations":["17605:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"17605:10:6"},"referencedDeclaration":4565,"src":"17605:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17604:25:6"},"returnParameters":{"id":6500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6507,"src":"17648:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6496,"name":"uint256","nodeType":"ElementaryTypeName","src":"17648:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6507,"src":"17657:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17657:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17647:18:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6521,"nodeType":"FunctionDefinition","src":"17723:115:6","nodes":[],"body":{"id":6520,"nodeType":"Block","src":"17789:49:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6517,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6510,"src":"17826:4:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":6515,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"17806:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$5917_$","typeString":"type(library stdStorageSafe)"}},"id":6516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17821:4:6","memberName":"root","nodeType":"MemberAccess","referencedDeclaration":5743,"src":"17806:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$4565_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":6518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17806:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6514,"id":6519,"nodeType":"Return","src":"17799:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"17732:4:6","parameters":{"id":6511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6510,"mutability":"mutable","name":"self","nameLocation":"17756:4:6","nodeType":"VariableDeclaration","scope":6521,"src":"17737:23:6","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":6509,"nodeType":"UserDefinedTypeName","pathNode":{"id":6508,"name":"StdStorage","nameLocations":["17737:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4565,"src":"17737:10:6"},"referencedDeclaration":4565,"src":"17737:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$4565_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17736:25:6"},"returnParameters":{"id":6514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6521,"src":"17780:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6512,"name":"uint256","nodeType":"ElementaryTypeName","src":"17780:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17779:9:6"},"scope":6522,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[6522],"name":"stdStorage","nameLocation":"12767:10:6","scope":6523,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":6}