{"abi":[{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"failed()":"ba414fa6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/StdAssertions.sol":"StdAssertions"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270","urls":["bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe","dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":725,"contract":"lib/forge-std/src/StdAssertions.sol:StdAssertions","label":"_failed","offset":0,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/StdAssertions.sol","id":3203,"exportedSymbols":{"StdAssertions":[3202],"Vm":[16311]},"nodeType":"SourceUnit","src":"32:23328:7","nodes":[{"id":583,"nodeType":"PragmaDirective","src":"32:31:7","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":584,"nodeType":"PragmaDirective","src":"64:33:7","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":586,"nodeType":"ImportDirective","src":"99:28:7","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3203,"sourceUnit":16312,"symbolAliases":[{"foreign":{"id":585,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"107:2:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3202,"nodeType":"ContractDefinition","src":"129:23230:7","nodes":[{"id":603,"nodeType":"VariableDeclaration","src":"167:84:7","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"187:2:7","scope":3202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"},"typeName":{"id":588,"nodeType":"UserDefinedTypeName","pathNode":{"id":587,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":16311,"src":"167:2:7"},"referencedDeclaration":16311,"src":"167:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"229:17:7","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":596,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"219:9:7","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"219:28:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"211:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":594,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:7","typeDescriptions":{}}},"id":599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"211:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"203:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":592,"name":"uint160","nodeType":"ElementaryTypeName","src":"203:7:7","typeDescriptions":{}}},"id":600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"203:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"195:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":590,"name":"address","nodeType":"ElementaryTypeName","src":"195:7:7","typeDescriptions":{}}},"id":601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"195:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":589,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"192:2:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$16311_$","typeString":"type(contract Vm)"}},"id":602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"192:59:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"visibility":"private"},{"id":607,"nodeType":"EventDefinition","src":"258:18:7","nodes":[],"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","name":"log","nameLocation":"264:3:7","parameters":{"id":606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":605,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":607,"src":"268:6:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":604,"name":"string","nodeType":"ElementaryTypeName","src":"268:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"267:8:7"}},{"id":611,"nodeType":"EventDefinition","src":"281:18:7","nodes":[],"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","name":"logs","nameLocation":"287:4:7","parameters":{"id":610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":609,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":611,"src":"292:5:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":608,"name":"bytes","nodeType":"ElementaryTypeName","src":"292:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"291:7:7"}},{"id":615,"nodeType":"EventDefinition","src":"305:27:7","nodes":[],"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","name":"log_address","nameLocation":"311:11:7","parameters":{"id":614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":613,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":615,"src":"323:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":612,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:9:7"}},{"id":619,"nodeType":"EventDefinition","src":"337:27:7","nodes":[],"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","name":"log_bytes32","nameLocation":"343:11:7","parameters":{"id":618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":617,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":619,"src":"355:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:9:7"}},{"id":623,"nodeType":"EventDefinition","src":"369:22:7","nodes":[],"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","name":"log_int","nameLocation":"375:7:7","parameters":{"id":622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":621,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":623,"src":"383:6:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":620,"name":"int256","nodeType":"ElementaryTypeName","src":"383:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"382:8:7"}},{"id":627,"nodeType":"EventDefinition","src":"396:24:7","nodes":[],"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","name":"log_uint","nameLocation":"402:8:7","parameters":{"id":626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":625,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":627,"src":"411:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":624,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"410:9:7"}},{"id":631,"nodeType":"EventDefinition","src":"425:23:7","nodes":[],"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","name":"log_bytes","nameLocation":"431:9:7","parameters":{"id":630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":629,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":631,"src":"441:5:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":628,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"440:7:7"}},{"id":635,"nodeType":"EventDefinition","src":"453:25:7","nodes":[],"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","name":"log_string","nameLocation":"459:10:7","parameters":{"id":634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":633,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":635,"src":"470:6:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":632,"name":"string","nodeType":"ElementaryTypeName","src":"470:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"469:8:7"}},{"id":641,"nodeType":"EventDefinition","src":"484:49:7","nodes":[],"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","name":"log_named_address","nameLocation":"490:17:7","parameters":{"id":640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":637,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"515:3:7","nodeType":"VariableDeclaration","scope":641,"src":"508:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":636,"name":"string","nodeType":"ElementaryTypeName","src":"508:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":639,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"528:3:7","nodeType":"VariableDeclaration","scope":641,"src":"520:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":638,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"507:25:7"}},{"id":647,"nodeType":"EventDefinition","src":"538:49:7","nodes":[],"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","name":"log_named_bytes32","nameLocation":"544:17:7","parameters":{"id":646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":643,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"569:3:7","nodeType":"VariableDeclaration","scope":647,"src":"562:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":642,"name":"string","nodeType":"ElementaryTypeName","src":"562:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":645,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"582:3:7","nodeType":"VariableDeclaration","scope":647,"src":"574:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"574:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"561:25:7"}},{"id":655,"nodeType":"EventDefinition","src":"592:70:7","nodes":[],"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","name":"log_named_decimal_int","nameLocation":"598:21:7","parameters":{"id":654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":649,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"627:3:7","nodeType":"VariableDeclaration","scope":655,"src":"620:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":648,"name":"string","nodeType":"ElementaryTypeName","src":"620:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":651,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"639:3:7","nodeType":"VariableDeclaration","scope":655,"src":"632:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":650,"name":"int256","nodeType":"ElementaryTypeName","src":"632:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":653,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"652:8:7","nodeType":"VariableDeclaration","scope":655,"src":"644:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":652,"name":"uint256","nodeType":"ElementaryTypeName","src":"644:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"619:42:7"}},{"id":663,"nodeType":"EventDefinition","src":"667:72:7","nodes":[],"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","name":"log_named_decimal_uint","nameLocation":"673:22:7","parameters":{"id":662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":657,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"703:3:7","nodeType":"VariableDeclaration","scope":663,"src":"696:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":656,"name":"string","nodeType":"ElementaryTypeName","src":"696:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":659,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"716:3:7","nodeType":"VariableDeclaration","scope":663,"src":"708:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":658,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":661,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"729:8:7","nodeType":"VariableDeclaration","scope":663,"src":"721:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":660,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"695:43:7"}},{"id":669,"nodeType":"EventDefinition","src":"744:44:7","nodes":[],"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","name":"log_named_int","nameLocation":"750:13:7","parameters":{"id":668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":665,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"771:3:7","nodeType":"VariableDeclaration","scope":669,"src":"764:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":664,"name":"string","nodeType":"ElementaryTypeName","src":"764:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":667,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"783:3:7","nodeType":"VariableDeclaration","scope":669,"src":"776:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":666,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"763:24:7"}},{"id":675,"nodeType":"EventDefinition","src":"793:46:7","nodes":[],"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","name":"log_named_uint","nameLocation":"799:14:7","parameters":{"id":674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":671,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"821:3:7","nodeType":"VariableDeclaration","scope":675,"src":"814:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":670,"name":"string","nodeType":"ElementaryTypeName","src":"814:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":673,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"834:3:7","nodeType":"VariableDeclaration","scope":675,"src":"826:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":672,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"813:25:7"}},{"id":681,"nodeType":"EventDefinition","src":"844:45:7","nodes":[],"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","name":"log_named_bytes","nameLocation":"850:15:7","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":677,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"873:3:7","nodeType":"VariableDeclaration","scope":681,"src":"866:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":676,"name":"string","nodeType":"ElementaryTypeName","src":"866:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":679,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"884:3:7","nodeType":"VariableDeclaration","scope":681,"src":"878:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":678,"name":"bytes","nodeType":"ElementaryTypeName","src":"878:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"865:23:7"}},{"id":687,"nodeType":"EventDefinition","src":"894:47:7","nodes":[],"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","name":"log_named_string","nameLocation":"900:16:7","parameters":{"id":686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":683,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"924:3:7","nodeType":"VariableDeclaration","scope":687,"src":"917:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":682,"name":"string","nodeType":"ElementaryTypeName","src":"917:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":685,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"936:3:7","nodeType":"VariableDeclaration","scope":687,"src":"929:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":684,"name":"string","nodeType":"ElementaryTypeName","src":"929:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"916:24:7"}},{"id":692,"nodeType":"EventDefinition","src":"947:31:7","nodes":[],"anonymous":false,"eventSelector":"fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1","name":"log_array","nameLocation":"953:9:7","parameters":{"id":691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":690,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"973:3:7","nodeType":"VariableDeclaration","scope":692,"src":"963:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":688,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":689,"nodeType":"ArrayTypeName","src":"963:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"962:15:7"}},{"id":697,"nodeType":"EventDefinition","src":"983:30:7","nodes":[],"anonymous":false,"eventSelector":"890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5","name":"log_array","nameLocation":"989:9:7","parameters":{"id":696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":695,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1008:3:7","nodeType":"VariableDeclaration","scope":697,"src":"999:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":693,"name":"int256","nodeType":"ElementaryTypeName","src":"999:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":694,"nodeType":"ArrayTypeName","src":"999:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"998:14:7"}},{"id":702,"nodeType":"EventDefinition","src":"1018:31:7","nodes":[],"anonymous":false,"eventSelector":"40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2","name":"log_array","nameLocation":"1024:9:7","parameters":{"id":701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":700,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1044:3:7","nodeType":"VariableDeclaration","scope":702,"src":"1034:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":698,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":699,"nodeType":"ArrayTypeName","src":"1034:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1033:15:7"}},{"id":709,"nodeType":"EventDefinition","src":"1054:49:7","nodes":[],"anonymous":false,"eventSelector":"00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb","name":"log_named_array","nameLocation":"1060:15:7","parameters":{"id":708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":704,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1083:3:7","nodeType":"VariableDeclaration","scope":709,"src":"1076:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":703,"name":"string","nodeType":"ElementaryTypeName","src":"1076:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":707,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1098:3:7","nodeType":"VariableDeclaration","scope":709,"src":"1088:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":705,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":706,"nodeType":"ArrayTypeName","src":"1088:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1075:27:7"}},{"id":716,"nodeType":"EventDefinition","src":"1108:48:7","nodes":[],"anonymous":false,"eventSelector":"a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57","name":"log_named_array","nameLocation":"1114:15:7","parameters":{"id":715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":711,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1137:3:7","nodeType":"VariableDeclaration","scope":716,"src":"1130:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":710,"name":"string","nodeType":"ElementaryTypeName","src":"1130:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":714,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1151:3:7","nodeType":"VariableDeclaration","scope":716,"src":"1142:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":712,"name":"int256","nodeType":"ElementaryTypeName","src":"1142:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":713,"nodeType":"ArrayTypeName","src":"1142:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1129:26:7"}},{"id":723,"nodeType":"EventDefinition","src":"1161:49:7","nodes":[],"anonymous":false,"eventSelector":"3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd","name":"log_named_array","nameLocation":"1167:15:7","parameters":{"id":722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":718,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1190:3:7","nodeType":"VariableDeclaration","scope":723,"src":"1183:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":717,"name":"string","nodeType":"ElementaryTypeName","src":"1183:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":721,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1205:3:7","nodeType":"VariableDeclaration","scope":723,"src":"1195:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":720,"nodeType":"ArrayTypeName","src":"1195:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1182:27:7"}},{"id":725,"nodeType":"VariableDeclaration","src":"1216:20:7","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1229:7:7","scope":3202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":724,"name":"bool","nodeType":"ElementaryTypeName","src":"1216:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":754,"nodeType":"FunctionDefinition","src":"1243:204:7","nodes":[],"body":{"id":753,"nodeType":"Block","src":"1288:159:7","nodes":[],"statements":[{"condition":{"id":730,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"1302:7:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":751,"nodeType":"Block","src":"1356:85:7","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":738,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1393:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}],"id":737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1385:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":736,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:7","typeDescriptions":{}}},"id":739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1385:11:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1406:8:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1398:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1398:7:7","typeDescriptions":{}}},"id":743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1398:17:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":734,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1377:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13151,"src":"1377:7:7","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1377:39:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1428:1:7","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":746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1420:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1420:7:7","typeDescriptions":{}}},"id":748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1420:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1377:53:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":729,"id":750,"nodeType":"Return","src":"1370:60:7"}]},"id":752,"nodeType":"IfStatement","src":"1298:143:7","trueBody":{"id":733,"nodeType":"Block","src":"1311:39:7","statements":[{"expression":{"id":731,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"1332:7:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":729,"id":732,"nodeType":"Return","src":"1325:14:7"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1252:6:7","parameters":{"id":726,"nodeType":"ParameterList","parameters":[],"src":"1258:2:7"},"returnParameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":754,"src":"1282:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":727,"name":"bool","nodeType":"ElementaryTypeName","src":"1282:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1281:6:7"},"scope":3202,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":782,"nodeType":"FunctionDefinition","src":"1453:135:7","nodes":[],"body":{"id":781,"nodeType":"Block","src":"1486:102:7","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":762,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1513:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}],"id":761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1505:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":760,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:7","typeDescriptions":{}}},"id":763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1505:11:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1526:8:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1518:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1518:7:7","typeDescriptions":{}}},"id":767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1518:17:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"31","id":772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1553:1:7","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1545:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":770,"name":"uint256","nodeType":"ElementaryTypeName","src":"1545:7:7","typeDescriptions":{}}},"id":773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1545:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1537:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1537:7:7","typeDescriptions":{}}},"id":774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1537:19:7","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":757,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1496:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":16114,"src":"1496:8:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1496:61:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":776,"nodeType":"ExpressionStatement","src":"1496:61:7"},{"expression":{"id":779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":777,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"1567:7:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1577:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1567:14:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":780,"nodeType":"ExpressionStatement","src":"1567:14:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1462:4:7","parameters":{"id":755,"nodeType":"ParameterList","parameters":[],"src":"1466:2:7"},"returnParameters":{"id":756,"nodeType":"ParameterList","parameters":[],"src":"1486:0:7"},"scope":3202,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":794,"nodeType":"FunctionDefinition","src":"1594:89:7","nodes":[],"body":{"id":793,"nodeType":"Block","src":"1647:36:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":790,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"1671:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":787,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1657:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":15271,"src":"1657:13:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1657:19:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":792,"nodeType":"ExpressionStatement","src":"1657:19:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1603:10:7","parameters":{"id":785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":784,"mutability":"mutable","name":"data","nameLocation":"1619:4:7","nodeType":"VariableDeclaration","scope":794,"src":"1614:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":783,"name":"bool","nodeType":"ElementaryTypeName","src":"1614:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1613:11:7"},"returnParameters":{"id":786,"nodeType":"ParameterList","parameters":[],"src":"1647:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":809,"nodeType":"FunctionDefinition","src":"1689:113:7","nodes":[],"body":{"id":808,"nodeType":"Block","src":"1761:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":804,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":796,"src":"1785:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":805,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":798,"src":"1791:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1771:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":15279,"src":"1771:13:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1771:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":807,"nodeType":"ExpressionStatement","src":"1771:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1698:10:7","parameters":{"id":799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":796,"mutability":"mutable","name":"data","nameLocation":"1714:4:7","nodeType":"VariableDeclaration","scope":809,"src":"1709:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":795,"name":"bool","nodeType":"ElementaryTypeName","src":"1709:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":798,"mutability":"mutable","name":"err","nameLocation":"1734:3:7","nodeType":"VariableDeclaration","scope":809,"src":"1720:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":797,"name":"string","nodeType":"ElementaryTypeName","src":"1720:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1708:30:7"},"returnParameters":{"id":800,"nodeType":"ParameterList","parameters":[],"src":"1761:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":821,"nodeType":"FunctionDefinition","src":"1808:91:7","nodes":[],"body":{"id":820,"nodeType":"Block","src":"1862:37:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":817,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":811,"src":"1887:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1872:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":14613,"src":"1872:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1872:20:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":819,"nodeType":"ExpressionStatement","src":"1872:20:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1817:11:7","parameters":{"id":812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":811,"mutability":"mutable","name":"data","nameLocation":"1834:4:7","nodeType":"VariableDeclaration","scope":821,"src":"1829:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":810,"name":"bool","nodeType":"ElementaryTypeName","src":"1829:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1828:11:7"},"returnParameters":{"id":813,"nodeType":"ParameterList","parameters":[],"src":"1862:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":836,"nodeType":"FunctionDefinition","src":"1905:115:7","nodes":[],"body":{"id":835,"nodeType":"Block","src":"1978:42:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":831,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":823,"src":"2003:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":832,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":825,"src":"2009:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":828,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"1988:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":14621,"src":"1988:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1988:25:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":834,"nodeType":"ExpressionStatement","src":"1988:25:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1914:11:7","parameters":{"id":826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":823,"mutability":"mutable","name":"data","nameLocation":"1931:4:7","nodeType":"VariableDeclaration","scope":836,"src":"1926:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":822,"name":"bool","nodeType":"ElementaryTypeName","src":"1926:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":825,"mutability":"mutable","name":"err","nameLocation":"1951:3:7","nodeType":"VariableDeclaration","scope":836,"src":"1937:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":824,"name":"string","nodeType":"ElementaryTypeName","src":"1937:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1925:30:7"},"returnParameters":{"id":827,"nodeType":"ParameterList","parameters":[],"src":"1978:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":851,"nodeType":"FunctionDefinition","src":"2026:104:7","nodes":[],"body":{"id":850,"nodeType":"Block","src":"2089:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":846,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":838,"src":"2111:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":847,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":840,"src":"2117:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":843,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"2099:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14335,"src":"2099:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2099:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":849,"nodeType":"ExpressionStatement","src":"2099:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2035:8:7","parameters":{"id":841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":838,"mutability":"mutable","name":"left","nameLocation":"2049:4:7","nodeType":"VariableDeclaration","scope":851,"src":"2044:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":837,"name":"bool","nodeType":"ElementaryTypeName","src":"2044:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":840,"mutability":"mutable","name":"right","nameLocation":"2060:5:7","nodeType":"VariableDeclaration","scope":851,"src":"2055:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":839,"name":"bool","nodeType":"ElementaryTypeName","src":"2055:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2043:23:7"},"returnParameters":{"id":842,"nodeType":"ParameterList","parameters":[],"src":"2089:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":869,"nodeType":"FunctionDefinition","src":"2136:128:7","nodes":[],"body":{"id":868,"nodeType":"Block","src":"2218:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":863,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":853,"src":"2240:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":864,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":855,"src":"2246:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":865,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":857,"src":"2253:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":860,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"2228:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14345,"src":"2228:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2228:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":867,"nodeType":"ExpressionStatement","src":"2228:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2145:8:7","parameters":{"id":858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":853,"mutability":"mutable","name":"left","nameLocation":"2159:4:7","nodeType":"VariableDeclaration","scope":869,"src":"2154:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":852,"name":"bool","nodeType":"ElementaryTypeName","src":"2154:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":855,"mutability":"mutable","name":"right","nameLocation":"2170:5:7","nodeType":"VariableDeclaration","scope":869,"src":"2165:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":854,"name":"bool","nodeType":"ElementaryTypeName","src":"2165:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":857,"mutability":"mutable","name":"err","nameLocation":"2191:3:7","nodeType":"VariableDeclaration","scope":869,"src":"2177:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":856,"name":"string","nodeType":"ElementaryTypeName","src":"2177:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2153:42:7"},"returnParameters":{"id":859,"nodeType":"ParameterList","parameters":[],"src":"2218:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":884,"nodeType":"FunctionDefinition","src":"2270:110:7","nodes":[],"body":{"id":883,"nodeType":"Block","src":"2339:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":879,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":871,"src":"2361:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":880,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":873,"src":"2367:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":876,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"2349:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14455,"src":"2349:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2349:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":882,"nodeType":"ExpressionStatement","src":"2349:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2279:8:7","parameters":{"id":874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":871,"mutability":"mutable","name":"left","nameLocation":"2296:4:7","nodeType":"VariableDeclaration","scope":884,"src":"2288:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":870,"name":"uint256","nodeType":"ElementaryTypeName","src":"2288:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":873,"mutability":"mutable","name":"right","nameLocation":"2310:5:7","nodeType":"VariableDeclaration","scope":884,"src":"2302:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":872,"name":"uint256","nodeType":"ElementaryTypeName","src":"2302:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2287:29:7"},"returnParameters":{"id":875,"nodeType":"ParameterList","parameters":[],"src":"2339:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":902,"nodeType":"FunctionDefinition","src":"2386:134:7","nodes":[],"body":{"id":901,"nodeType":"Block","src":"2474:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":896,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":886,"src":"2496:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":897,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":888,"src":"2502:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":898,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":890,"src":"2509:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":893,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"2484:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14553,"src":"2484:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2484:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":900,"nodeType":"ExpressionStatement","src":"2484:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2395:8:7","parameters":{"id":891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":886,"mutability":"mutable","name":"left","nameLocation":"2412:4:7","nodeType":"VariableDeclaration","scope":902,"src":"2404:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":885,"name":"uint256","nodeType":"ElementaryTypeName","src":"2404:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":888,"mutability":"mutable","name":"right","nameLocation":"2426:5:7","nodeType":"VariableDeclaration","scope":902,"src":"2418:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":887,"name":"uint256","nodeType":"ElementaryTypeName","src":"2418:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":890,"mutability":"mutable","name":"err","nameLocation":"2447:3:7","nodeType":"VariableDeclaration","scope":902,"src":"2433:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":889,"name":"string","nodeType":"ElementaryTypeName","src":"2433:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:48:7"},"returnParameters":{"id":892,"nodeType":"ParameterList","parameters":[],"src":"2474:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":920,"nodeType":"FunctionDefinition","src":"2526:152:7","nodes":[],"body":{"id":919,"nodeType":"Block","src":"2620:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":914,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":904,"src":"2649:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":915,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":906,"src":"2655:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":916,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":908,"src":"2662:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"2630:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14293,"src":"2630:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2630:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":918,"nodeType":"ExpressionStatement","src":"2630:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2535:15:7","parameters":{"id":909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":904,"mutability":"mutable","name":"left","nameLocation":"2559:4:7","nodeType":"VariableDeclaration","scope":920,"src":"2551:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":903,"name":"uint256","nodeType":"ElementaryTypeName","src":"2551:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":906,"mutability":"mutable","name":"right","nameLocation":"2573:5:7","nodeType":"VariableDeclaration","scope":920,"src":"2565:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":905,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":908,"mutability":"mutable","name":"decimals","nameLocation":"2588:8:7","nodeType":"VariableDeclaration","scope":920,"src":"2580:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":907,"name":"uint256","nodeType":"ElementaryTypeName","src":"2580:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2550:47:7"},"returnParameters":{"id":910,"nodeType":"ParameterList","parameters":[],"src":"2620:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":941,"nodeType":"FunctionDefinition","src":"2684:176:7","nodes":[],"body":{"id":940,"nodeType":"Block","src":"2797:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":934,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"2826:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":935,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":924,"src":"2832:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":936,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":926,"src":"2839:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":937,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"2849:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":931,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"2807:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14305,"src":"2807:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2807:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":939,"nodeType":"ExpressionStatement","src":"2807:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2693:15:7","parameters":{"id":929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":922,"mutability":"mutable","name":"left","nameLocation":"2717:4:7","nodeType":"VariableDeclaration","scope":941,"src":"2709:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":921,"name":"uint256","nodeType":"ElementaryTypeName","src":"2709:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":924,"mutability":"mutable","name":"right","nameLocation":"2731:5:7","nodeType":"VariableDeclaration","scope":941,"src":"2723:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":923,"name":"uint256","nodeType":"ElementaryTypeName","src":"2723:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":926,"mutability":"mutable","name":"decimals","nameLocation":"2746:8:7","nodeType":"VariableDeclaration","scope":941,"src":"2738:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":925,"name":"uint256","nodeType":"ElementaryTypeName","src":"2738:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":928,"mutability":"mutable","name":"err","nameLocation":"2770:3:7","nodeType":"VariableDeclaration","scope":941,"src":"2756:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":927,"name":"string","nodeType":"ElementaryTypeName","src":"2756:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2708:66:7"},"returnParameters":{"id":930,"nodeType":"ParameterList","parameters":[],"src":"2797:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":956,"nodeType":"FunctionDefinition","src":"2866:108:7","nodes":[],"body":{"id":955,"nodeType":"Block","src":"2933:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":951,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"2955:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":952,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":945,"src":"2961:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":948,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"2943:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14561,"src":"2943:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2943:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":954,"nodeType":"ExpressionStatement","src":"2943:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2875:8:7","parameters":{"id":946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":943,"mutability":"mutable","name":"left","nameLocation":"2891:4:7","nodeType":"VariableDeclaration","scope":956,"src":"2884:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":942,"name":"int256","nodeType":"ElementaryTypeName","src":"2884:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":945,"mutability":"mutable","name":"right","nameLocation":"2904:5:7","nodeType":"VariableDeclaration","scope":956,"src":"2897:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":944,"name":"int256","nodeType":"ElementaryTypeName","src":"2897:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2883:27:7"},"returnParameters":{"id":947,"nodeType":"ParameterList","parameters":[],"src":"2933:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":974,"nodeType":"FunctionDefinition","src":"2980:132:7","nodes":[],"body":{"id":973,"nodeType":"Block","src":"3066:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":968,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":958,"src":"3088:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":969,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"src":"3094:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":970,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"3101:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":965,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"3076:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14571,"src":"3076:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3076:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":972,"nodeType":"ExpressionStatement","src":"3076:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2989:8:7","parameters":{"id":963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":958,"mutability":"mutable","name":"left","nameLocation":"3005:4:7","nodeType":"VariableDeclaration","scope":974,"src":"2998:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":957,"name":"int256","nodeType":"ElementaryTypeName","src":"2998:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":960,"mutability":"mutable","name":"right","nameLocation":"3018:5:7","nodeType":"VariableDeclaration","scope":974,"src":"3011:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":959,"name":"int256","nodeType":"ElementaryTypeName","src":"3011:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":962,"mutability":"mutable","name":"err","nameLocation":"3039:3:7","nodeType":"VariableDeclaration","scope":974,"src":"3025:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":961,"name":"string","nodeType":"ElementaryTypeName","src":"3025:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2997:46:7"},"returnParameters":{"id":964,"nodeType":"ParameterList","parameters":[],"src":"3066:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":992,"nodeType":"FunctionDefinition","src":"3118:150:7","nodes":[],"body":{"id":991,"nodeType":"Block","src":"3210:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":986,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"3239:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":987,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":978,"src":"3245:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":988,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":980,"src":"3252:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":983,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"3220:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14315,"src":"3220:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3220:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":990,"nodeType":"ExpressionStatement","src":"3220:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3127:15:7","parameters":{"id":981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":976,"mutability":"mutable","name":"left","nameLocation":"3150:4:7","nodeType":"VariableDeclaration","scope":992,"src":"3143:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":975,"name":"int256","nodeType":"ElementaryTypeName","src":"3143:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":978,"mutability":"mutable","name":"right","nameLocation":"3163:5:7","nodeType":"VariableDeclaration","scope":992,"src":"3156:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":977,"name":"int256","nodeType":"ElementaryTypeName","src":"3156:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":980,"mutability":"mutable","name":"decimals","nameLocation":"3178:8:7","nodeType":"VariableDeclaration","scope":992,"src":"3170:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":979,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3142:45:7"},"returnParameters":{"id":982,"nodeType":"ParameterList","parameters":[],"src":"3210:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1013,"nodeType":"FunctionDefinition","src":"3274:174:7","nodes":[],"body":{"id":1012,"nodeType":"Block","src":"3385:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1006,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":994,"src":"3414:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1007,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"3420:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1008,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"3427:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1009,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"3437:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1003,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"3395:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14327,"src":"3395:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3395:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1011,"nodeType":"ExpressionStatement","src":"3395:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3283:15:7","parameters":{"id":1001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":994,"mutability":"mutable","name":"left","nameLocation":"3306:4:7","nodeType":"VariableDeclaration","scope":1013,"src":"3299:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":993,"name":"int256","nodeType":"ElementaryTypeName","src":"3299:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":996,"mutability":"mutable","name":"right","nameLocation":"3319:5:7","nodeType":"VariableDeclaration","scope":1013,"src":"3312:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":995,"name":"int256","nodeType":"ElementaryTypeName","src":"3312:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":998,"mutability":"mutable","name":"decimals","nameLocation":"3334:8:7","nodeType":"VariableDeclaration","scope":1013,"src":"3326:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":997,"name":"uint256","nodeType":"ElementaryTypeName","src":"3326:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1000,"mutability":"mutable","name":"err","nameLocation":"3358:3:7","nodeType":"VariableDeclaration","scope":1013,"src":"3344:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":999,"name":"string","nodeType":"ElementaryTypeName","src":"3344:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3298:64:7"},"returnParameters":{"id":1002,"nodeType":"ParameterList","parameters":[],"src":"3385:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1028,"nodeType":"FunctionDefinition","src":"3454:110:7","nodes":[],"body":{"id":1027,"nodeType":"Block","src":"3523:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1023,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1015,"src":"3545:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1024,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1017,"src":"3551:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1020,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"3533:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14579,"src":"3533:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":1025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3533:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1026,"nodeType":"ExpressionStatement","src":"3533:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3463:8:7","parameters":{"id":1018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1015,"mutability":"mutable","name":"left","nameLocation":"3480:4:7","nodeType":"VariableDeclaration","scope":1028,"src":"3472:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1014,"name":"address","nodeType":"ElementaryTypeName","src":"3472:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1017,"mutability":"mutable","name":"right","nameLocation":"3494:5:7","nodeType":"VariableDeclaration","scope":1028,"src":"3486:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1016,"name":"address","nodeType":"ElementaryTypeName","src":"3486:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3471:29:7"},"returnParameters":{"id":1019,"nodeType":"ParameterList","parameters":[],"src":"3523:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1046,"nodeType":"FunctionDefinition","src":"3570:134:7","nodes":[],"body":{"id":1045,"nodeType":"Block","src":"3658:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1040,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"3680:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1041,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"3686:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1042,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1034,"src":"3693:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"3668:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14589,"src":"3668:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3668:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1044,"nodeType":"ExpressionStatement","src":"3668:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3579:8:7","parameters":{"id":1035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1030,"mutability":"mutable","name":"left","nameLocation":"3596:4:7","nodeType":"VariableDeclaration","scope":1046,"src":"3588:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1029,"name":"address","nodeType":"ElementaryTypeName","src":"3588:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1032,"mutability":"mutable","name":"right","nameLocation":"3610:5:7","nodeType":"VariableDeclaration","scope":1046,"src":"3602:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1031,"name":"address","nodeType":"ElementaryTypeName","src":"3602:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1034,"mutability":"mutable","name":"err","nameLocation":"3631:3:7","nodeType":"VariableDeclaration","scope":1046,"src":"3617:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1033,"name":"string","nodeType":"ElementaryTypeName","src":"3617:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3587:48:7"},"returnParameters":{"id":1036,"nodeType":"ParameterList","parameters":[],"src":"3658:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1061,"nodeType":"FunctionDefinition","src":"3710:110:7","nodes":[],"body":{"id":1060,"nodeType":"Block","src":"3779:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1056,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1048,"src":"3801:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1057,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"3807:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1053,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"3789:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14597,"src":"3789:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3789:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1059,"nodeType":"ExpressionStatement","src":"3789:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3719:8:7","parameters":{"id":1051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1048,"mutability":"mutable","name":"left","nameLocation":"3736:4:7","nodeType":"VariableDeclaration","scope":1061,"src":"3728:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3728:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1050,"mutability":"mutable","name":"right","nameLocation":"3750:5:7","nodeType":"VariableDeclaration","scope":1061,"src":"3742:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3742:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3727:29:7"},"returnParameters":{"id":1052,"nodeType":"ParameterList","parameters":[],"src":"3779:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1079,"nodeType":"FunctionDefinition","src":"3826:134:7","nodes":[],"body":{"id":1078,"nodeType":"Block","src":"3914:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1073,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1063,"src":"3936:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1074,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"3942:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1075,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1067,"src":"3949:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1070,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"3924:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14607,"src":"3924:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3924:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1077,"nodeType":"ExpressionStatement","src":"3924:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3835:8:7","parameters":{"id":1068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1063,"mutability":"mutable","name":"left","nameLocation":"3852:4:7","nodeType":"VariableDeclaration","scope":1079,"src":"3844:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3844:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1065,"mutability":"mutable","name":"right","nameLocation":"3866:5:7","nodeType":"VariableDeclaration","scope":1079,"src":"3858:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3858:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1067,"mutability":"mutable","name":"err","nameLocation":"3887:3:7","nodeType":"VariableDeclaration","scope":1079,"src":"3873:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1066,"name":"string","nodeType":"ElementaryTypeName","src":"3873:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3843:48:7"},"returnParameters":{"id":1069,"nodeType":"ParameterList","parameters":[],"src":"3914:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1092,"nodeType":"FunctionDefinition","src":"3966:109:7","nodes":[],"body":{"id":1091,"nodeType":"Block","src":"4037:38:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1087,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"4056:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1088,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1083,"src":"4062:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1086,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[851,869,884,902,956,974,1028,1046,1061,1079,1123,1141,1156,1174,1191,1211,1228,1248,1265,1285,1302,1322,1339,1359,1376,1396,1413,1433],"referencedDeclaration":1061,"src":"4047:8:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4047:21:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1090,"nodeType":"ExpressionStatement","src":"4047:21:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"3975:10:7","parameters":{"id":1084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1081,"mutability":"mutable","name":"left","nameLocation":"3994:4:7","nodeType":"VariableDeclaration","scope":1092,"src":"3986:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3986:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1083,"mutability":"mutable","name":"right","nameLocation":"4008:5:7","nodeType":"VariableDeclaration","scope":1092,"src":"4000:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4000:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3985:29:7"},"returnParameters":{"id":1085,"nodeType":"ParameterList","parameters":[],"src":"4037:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1108,"nodeType":"FunctionDefinition","src":"4081:133:7","nodes":[],"body":{"id":1107,"nodeType":"Block","src":"4171:43:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1102,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1094,"src":"4190:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1103,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1096,"src":"4196:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1104,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1098,"src":"4203:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1101,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[851,869,884,902,956,974,1028,1046,1061,1079,1123,1141,1156,1174,1191,1211,1228,1248,1265,1285,1302,1322,1339,1359,1376,1396,1413,1433],"referencedDeclaration":1079,"src":"4181:8:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4181:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1106,"nodeType":"ExpressionStatement","src":"4181:26:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4090:10:7","parameters":{"id":1099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1094,"mutability":"mutable","name":"left","nameLocation":"4109:4:7","nodeType":"VariableDeclaration","scope":1108,"src":"4101:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4101:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1096,"mutability":"mutable","name":"right","nameLocation":"4123:5:7","nodeType":"VariableDeclaration","scope":1108,"src":"4115:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4115:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1098,"mutability":"mutable","name":"err","nameLocation":"4144:3:7","nodeType":"VariableDeclaration","scope":1108,"src":"4130:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1097,"name":"string","nodeType":"ElementaryTypeName","src":"4130:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4100:48:7"},"returnParameters":{"id":1100,"nodeType":"ParameterList","parameters":[],"src":"4171:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1123,"nodeType":"FunctionDefinition","src":"4220:122:7","nodes":[],"body":{"id":1122,"nodeType":"Block","src":"4301:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1118,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1110,"src":"4323:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1119,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1112,"src":"4329:5:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1115,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"4311:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14353,"src":"4311:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":1120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4311:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1121,"nodeType":"ExpressionStatement","src":"4311:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4229:8:7","parameters":{"id":1113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1110,"mutability":"mutable","name":"left","nameLocation":"4252:4:7","nodeType":"VariableDeclaration","scope":1123,"src":"4238:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1109,"name":"string","nodeType":"ElementaryTypeName","src":"4238:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1112,"mutability":"mutable","name":"right","nameLocation":"4272:5:7","nodeType":"VariableDeclaration","scope":1123,"src":"4258:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1111,"name":"string","nodeType":"ElementaryTypeName","src":"4258:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4237:41:7"},"returnParameters":{"id":1114,"nodeType":"ParameterList","parameters":[],"src":"4301:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1141,"nodeType":"FunctionDefinition","src":"4348:146:7","nodes":[],"body":{"id":1140,"nodeType":"Block","src":"4448:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1135,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"4470:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1136,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1127,"src":"4476:5:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1137,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"4483:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1132,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"4458:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14363,"src":"4458:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) pure external"}},"id":1138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4458:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1139,"nodeType":"ExpressionStatement","src":"4458:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4357:8:7","parameters":{"id":1130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"left","nameLocation":"4380:4:7","nodeType":"VariableDeclaration","scope":1141,"src":"4366:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1124,"name":"string","nodeType":"ElementaryTypeName","src":"4366:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1127,"mutability":"mutable","name":"right","nameLocation":"4400:5:7","nodeType":"VariableDeclaration","scope":1141,"src":"4386:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1126,"name":"string","nodeType":"ElementaryTypeName","src":"4386:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1129,"mutability":"mutable","name":"err","nameLocation":"4421:3:7","nodeType":"VariableDeclaration","scope":1141,"src":"4407:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1128,"name":"string","nodeType":"ElementaryTypeName","src":"4407:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4365:60:7"},"returnParameters":{"id":1131,"nodeType":"ParameterList","parameters":[],"src":"4448:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1156,"nodeType":"FunctionDefinition","src":"4500:120:7","nodes":[],"body":{"id":1155,"nodeType":"Block","src":"4579:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1151,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1143,"src":"4601:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1152,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"4607:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"4589:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14371,"src":"4589:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4589:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1154,"nodeType":"ExpressionStatement","src":"4589:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4509:8:7","parameters":{"id":1146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"left","nameLocation":"4531:4:7","nodeType":"VariableDeclaration","scope":1156,"src":"4518:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1142,"name":"bytes","nodeType":"ElementaryTypeName","src":"4518:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1145,"mutability":"mutable","name":"right","nameLocation":"4550:5:7","nodeType":"VariableDeclaration","scope":1156,"src":"4537:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1144,"name":"bytes","nodeType":"ElementaryTypeName","src":"4537:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4517:39:7"},"returnParameters":{"id":1147,"nodeType":"ParameterList","parameters":[],"src":"4579:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1174,"nodeType":"FunctionDefinition","src":"4626:144:7","nodes":[],"body":{"id":1173,"nodeType":"Block","src":"4724:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1168,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1158,"src":"4746:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1169,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"4752:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1170,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1162,"src":"4759:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1165,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"4734:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14381,"src":"4734:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure external"}},"id":1171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4734:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1172,"nodeType":"ExpressionStatement","src":"4734:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4635:8:7","parameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1158,"mutability":"mutable","name":"left","nameLocation":"4657:4:7","nodeType":"VariableDeclaration","scope":1174,"src":"4644:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1157,"name":"bytes","nodeType":"ElementaryTypeName","src":"4644:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1160,"mutability":"mutable","name":"right","nameLocation":"4676:5:7","nodeType":"VariableDeclaration","scope":1174,"src":"4663:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1159,"name":"bytes","nodeType":"ElementaryTypeName","src":"4663:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1162,"mutability":"mutable","name":"err","nameLocation":"4697:3:7","nodeType":"VariableDeclaration","scope":1174,"src":"4683:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1161,"name":"string","nodeType":"ElementaryTypeName","src":"4683:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4643:58:7"},"returnParameters":{"id":1164,"nodeType":"ParameterList","parameters":[],"src":"4724:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1191,"nodeType":"FunctionDefinition","src":"4776:122:7","nodes":[],"body":{"id":1190,"nodeType":"Block","src":"4857:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1186,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1177,"src":"4879:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1187,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"4885:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":1183,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"4867:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14391,"src":"4867:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory) pure external"}},"id":1188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4867:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1189,"nodeType":"ExpressionStatement","src":"4867:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4785:8:7","parameters":{"id":1181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1177,"mutability":"mutable","name":"left","nameLocation":"4808:4:7","nodeType":"VariableDeclaration","scope":1191,"src":"4794:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1175,"name":"bool","nodeType":"ElementaryTypeName","src":"4794:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1176,"nodeType":"ArrayTypeName","src":"4794:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1180,"mutability":"mutable","name":"right","nameLocation":"4828:5:7","nodeType":"VariableDeclaration","scope":1191,"src":"4814:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1178,"name":"bool","nodeType":"ElementaryTypeName","src":"4814:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1179,"nodeType":"ArrayTypeName","src":"4814:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4793:41:7"},"returnParameters":{"id":1182,"nodeType":"ParameterList","parameters":[],"src":"4857:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1211,"nodeType":"FunctionDefinition","src":"4904:146:7","nodes":[],"body":{"id":1210,"nodeType":"Block","src":"5004:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1205,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"5026:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1206,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1197,"src":"5032:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1207,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1199,"src":"5039:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1202,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"5014:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14403,"src":"5014:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory,string memory) pure external"}},"id":1208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5014:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1209,"nodeType":"ExpressionStatement","src":"5014:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4913:8:7","parameters":{"id":1200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1194,"mutability":"mutable","name":"left","nameLocation":"4936:4:7","nodeType":"VariableDeclaration","scope":1211,"src":"4922:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1192,"name":"bool","nodeType":"ElementaryTypeName","src":"4922:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"ArrayTypeName","src":"4922:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1197,"mutability":"mutable","name":"right","nameLocation":"4956:5:7","nodeType":"VariableDeclaration","scope":1211,"src":"4942:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1195,"name":"bool","nodeType":"ElementaryTypeName","src":"4942:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1196,"nodeType":"ArrayTypeName","src":"4942:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1199,"mutability":"mutable","name":"err","nameLocation":"4977:3:7","nodeType":"VariableDeclaration","scope":1211,"src":"4963:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1198,"name":"string","nodeType":"ElementaryTypeName","src":"4963:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4921:60:7"},"returnParameters":{"id":1201,"nodeType":"ParameterList","parameters":[],"src":"5004:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1228,"nodeType":"FunctionDefinition","src":"5056:128:7","nodes":[],"body":{"id":1227,"nodeType":"Block","src":"5143:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1223,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1214,"src":"5165:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1224,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1217,"src":"5171:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":1220,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"5153:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14413,"src":"5153:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory) pure external"}},"id":1225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5153:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1226,"nodeType":"ExpressionStatement","src":"5153:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5065:8:7","parameters":{"id":1218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1214,"mutability":"mutable","name":"left","nameLocation":"5091:4:7","nodeType":"VariableDeclaration","scope":1228,"src":"5074:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1212,"name":"uint256","nodeType":"ElementaryTypeName","src":"5074:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1213,"nodeType":"ArrayTypeName","src":"5074:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1217,"mutability":"mutable","name":"right","nameLocation":"5114:5:7","nodeType":"VariableDeclaration","scope":1228,"src":"5097:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1215,"name":"uint256","nodeType":"ElementaryTypeName","src":"5097:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1216,"nodeType":"ArrayTypeName","src":"5097:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5073:47:7"},"returnParameters":{"id":1219,"nodeType":"ParameterList","parameters":[],"src":"5143:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1248,"nodeType":"FunctionDefinition","src":"5190:152:7","nodes":[],"body":{"id":1247,"nodeType":"Block","src":"5296:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1242,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"5318:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1243,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1234,"src":"5324:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1244,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1236,"src":"5331:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1239,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"5306:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14425,"src":"5306:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory,string memory) pure external"}},"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5306:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1246,"nodeType":"ExpressionStatement","src":"5306:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5199:8:7","parameters":{"id":1237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1231,"mutability":"mutable","name":"left","nameLocation":"5225:4:7","nodeType":"VariableDeclaration","scope":1248,"src":"5208:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1229,"name":"uint256","nodeType":"ElementaryTypeName","src":"5208:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1230,"nodeType":"ArrayTypeName","src":"5208:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1234,"mutability":"mutable","name":"right","nameLocation":"5248:5:7","nodeType":"VariableDeclaration","scope":1248,"src":"5231:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"5231:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1233,"nodeType":"ArrayTypeName","src":"5231:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1236,"mutability":"mutable","name":"err","nameLocation":"5269:3:7","nodeType":"VariableDeclaration","scope":1248,"src":"5255:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1235,"name":"string","nodeType":"ElementaryTypeName","src":"5255:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5207:66:7"},"returnParameters":{"id":1238,"nodeType":"ParameterList","parameters":[],"src":"5296:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1265,"nodeType":"FunctionDefinition","src":"5348:126:7","nodes":[],"body":{"id":1264,"nodeType":"Block","src":"5433:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1260,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1251,"src":"5455:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1261,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1254,"src":"5461:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":1257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"5443:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14435,"src":"5443:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory) pure external"}},"id":1262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5443:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1263,"nodeType":"ExpressionStatement","src":"5443:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5357:8:7","parameters":{"id":1255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1251,"mutability":"mutable","name":"left","nameLocation":"5382:4:7","nodeType":"VariableDeclaration","scope":1265,"src":"5366:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1249,"name":"int256","nodeType":"ElementaryTypeName","src":"5366:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1250,"nodeType":"ArrayTypeName","src":"5366:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1254,"mutability":"mutable","name":"right","nameLocation":"5404:5:7","nodeType":"VariableDeclaration","scope":1265,"src":"5388:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1252,"name":"int256","nodeType":"ElementaryTypeName","src":"5388:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1253,"nodeType":"ArrayTypeName","src":"5388:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"5365:45:7"},"returnParameters":{"id":1256,"nodeType":"ParameterList","parameters":[],"src":"5433:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1285,"nodeType":"FunctionDefinition","src":"5480:150:7","nodes":[],"body":{"id":1284,"nodeType":"Block","src":"5584:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1279,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1268,"src":"5606:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1280,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1271,"src":"5612:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1281,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1273,"src":"5619:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1276,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"5594:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14447,"src":"5594:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory,string memory) pure external"}},"id":1282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5594:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1283,"nodeType":"ExpressionStatement","src":"5594:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5489:8:7","parameters":{"id":1274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1268,"mutability":"mutable","name":"left","nameLocation":"5514:4:7","nodeType":"VariableDeclaration","scope":1285,"src":"5498:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1266,"name":"int256","nodeType":"ElementaryTypeName","src":"5498:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1267,"nodeType":"ArrayTypeName","src":"5498:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1271,"mutability":"mutable","name":"right","nameLocation":"5536:5:7","nodeType":"VariableDeclaration","scope":1285,"src":"5520:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1269,"name":"int256","nodeType":"ElementaryTypeName","src":"5520:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1270,"nodeType":"ArrayTypeName","src":"5520:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1273,"mutability":"mutable","name":"err","nameLocation":"5557:3:7","nodeType":"VariableDeclaration","scope":1285,"src":"5543:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1272,"name":"string","nodeType":"ElementaryTypeName","src":"5543:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5497:64:7"},"returnParameters":{"id":1275,"nodeType":"ParameterList","parameters":[],"src":"5584:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1302,"nodeType":"FunctionDefinition","src":"5636:128:7","nodes":[],"body":{"id":1301,"nodeType":"Block","src":"5723:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1297,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1288,"src":"5745:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1298,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"5751:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":1294,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"5733:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14465,"src":"5733:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory) pure external"}},"id":1299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5733:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1300,"nodeType":"ExpressionStatement","src":"5733:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5645:8:7","parameters":{"id":1292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1288,"mutability":"mutable","name":"left","nameLocation":"5671:4:7","nodeType":"VariableDeclaration","scope":1302,"src":"5654:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1286,"name":"address","nodeType":"ElementaryTypeName","src":"5654:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1287,"nodeType":"ArrayTypeName","src":"5654:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1291,"mutability":"mutable","name":"right","nameLocation":"5694:5:7","nodeType":"VariableDeclaration","scope":1302,"src":"5677:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1289,"name":"address","nodeType":"ElementaryTypeName","src":"5677:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1290,"nodeType":"ArrayTypeName","src":"5677:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5653:47:7"},"returnParameters":{"id":1293,"nodeType":"ParameterList","parameters":[],"src":"5723:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1322,"nodeType":"FunctionDefinition","src":"5770:152:7","nodes":[],"body":{"id":1321,"nodeType":"Block","src":"5876:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1316,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1305,"src":"5898:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1317,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1308,"src":"5904:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1318,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1310,"src":"5911:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1313,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"5886:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14477,"src":"5886:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory,string memory) pure external"}},"id":1319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5886:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1320,"nodeType":"ExpressionStatement","src":"5886:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5779:8:7","parameters":{"id":1311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1305,"mutability":"mutable","name":"left","nameLocation":"5805:4:7","nodeType":"VariableDeclaration","scope":1322,"src":"5788:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1303,"name":"address","nodeType":"ElementaryTypeName","src":"5788:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1304,"nodeType":"ArrayTypeName","src":"5788:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1308,"mutability":"mutable","name":"right","nameLocation":"5828:5:7","nodeType":"VariableDeclaration","scope":1322,"src":"5811:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1306,"name":"address","nodeType":"ElementaryTypeName","src":"5811:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1307,"nodeType":"ArrayTypeName","src":"5811:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1310,"mutability":"mutable","name":"err","nameLocation":"5849:3:7","nodeType":"VariableDeclaration","scope":1322,"src":"5835:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1309,"name":"string","nodeType":"ElementaryTypeName","src":"5835:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5787:66:7"},"returnParameters":{"id":1312,"nodeType":"ParameterList","parameters":[],"src":"5876:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1339,"nodeType":"FunctionDefinition","src":"5928:128:7","nodes":[],"body":{"id":1338,"nodeType":"Block","src":"6015:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1334,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"6037:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1335,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"6043:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":1331,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6025:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14487,"src":"6025:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory) pure external"}},"id":1336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6025:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1337,"nodeType":"ExpressionStatement","src":"6025:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5937:8:7","parameters":{"id":1329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1325,"mutability":"mutable","name":"left","nameLocation":"5963:4:7","nodeType":"VariableDeclaration","scope":1339,"src":"5946:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5946:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1324,"nodeType":"ArrayTypeName","src":"5946:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1328,"mutability":"mutable","name":"right","nameLocation":"5986:5:7","nodeType":"VariableDeclaration","scope":1339,"src":"5969:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5969:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1327,"nodeType":"ArrayTypeName","src":"5969:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5945:47:7"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[],"src":"6015:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1359,"nodeType":"FunctionDefinition","src":"6062:152:7","nodes":[],"body":{"id":1358,"nodeType":"Block","src":"6168:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1353,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1342,"src":"6190:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1354,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1345,"src":"6196:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1355,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1347,"src":"6203:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1350,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6178:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14499,"src":"6178:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory,string memory) pure external"}},"id":1356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6178:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1357,"nodeType":"ExpressionStatement","src":"6178:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6071:8:7","parameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1342,"mutability":"mutable","name":"left","nameLocation":"6097:4:7","nodeType":"VariableDeclaration","scope":1359,"src":"6080:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6080:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1341,"nodeType":"ArrayTypeName","src":"6080:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1345,"mutability":"mutable","name":"right","nameLocation":"6120:5:7","nodeType":"VariableDeclaration","scope":1359,"src":"6103:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6103:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1344,"nodeType":"ArrayTypeName","src":"6103:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1347,"mutability":"mutable","name":"err","nameLocation":"6141:3:7","nodeType":"VariableDeclaration","scope":1359,"src":"6127:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1346,"name":"string","nodeType":"ElementaryTypeName","src":"6127:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6079:66:7"},"returnParameters":{"id":1349,"nodeType":"ParameterList","parameters":[],"src":"6168:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1376,"nodeType":"FunctionDefinition","src":"6220:126:7","nodes":[],"body":{"id":1375,"nodeType":"Block","src":"6305:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"6327:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1372,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"6333:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":1368,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6315:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14509,"src":"6315:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory) pure external"}},"id":1373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6315:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1374,"nodeType":"ExpressionStatement","src":"6315:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6229:8:7","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1362,"mutability":"mutable","name":"left","nameLocation":"6254:4:7","nodeType":"VariableDeclaration","scope":1376,"src":"6238:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1360,"name":"string","nodeType":"ElementaryTypeName","src":"6238:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1361,"nodeType":"ArrayTypeName","src":"6238:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1365,"mutability":"mutable","name":"right","nameLocation":"6276:5:7","nodeType":"VariableDeclaration","scope":1376,"src":"6260:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1363,"name":"string","nodeType":"ElementaryTypeName","src":"6260:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1364,"nodeType":"ArrayTypeName","src":"6260:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"6237:45:7"},"returnParameters":{"id":1367,"nodeType":"ParameterList","parameters":[],"src":"6305:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1396,"nodeType":"FunctionDefinition","src":"6352:150:7","nodes":[],"body":{"id":1395,"nodeType":"Block","src":"6456:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1390,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1379,"src":"6478:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1391,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1382,"src":"6484:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1392,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1384,"src":"6491:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1387,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6466:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14521,"src":"6466:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory,string memory) pure external"}},"id":1393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6466:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1394,"nodeType":"ExpressionStatement","src":"6466:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6361:8:7","parameters":{"id":1385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1379,"mutability":"mutable","name":"left","nameLocation":"6386:4:7","nodeType":"VariableDeclaration","scope":1396,"src":"6370:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1377,"name":"string","nodeType":"ElementaryTypeName","src":"6370:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1378,"nodeType":"ArrayTypeName","src":"6370:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1382,"mutability":"mutable","name":"right","nameLocation":"6408:5:7","nodeType":"VariableDeclaration","scope":1396,"src":"6392:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1380,"name":"string","nodeType":"ElementaryTypeName","src":"6392:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1381,"nodeType":"ArrayTypeName","src":"6392:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1384,"mutability":"mutable","name":"err","nameLocation":"6429:3:7","nodeType":"VariableDeclaration","scope":1396,"src":"6415:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1383,"name":"string","nodeType":"ElementaryTypeName","src":"6415:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6369:64:7"},"returnParameters":{"id":1386,"nodeType":"ParameterList","parameters":[],"src":"6456:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1413,"nodeType":"FunctionDefinition","src":"6508:124:7","nodes":[],"body":{"id":1412,"nodeType":"Block","src":"6591:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1408,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"6613:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1409,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1402,"src":"6619:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":1405,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6601:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14531,"src":"6601:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory) pure external"}},"id":1410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6601:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1411,"nodeType":"ExpressionStatement","src":"6601:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6517:8:7","parameters":{"id":1403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1399,"mutability":"mutable","name":"left","nameLocation":"6541:4:7","nodeType":"VariableDeclaration","scope":1413,"src":"6526:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1397,"name":"bytes","nodeType":"ElementaryTypeName","src":"6526:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1398,"nodeType":"ArrayTypeName","src":"6526:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1402,"mutability":"mutable","name":"right","nameLocation":"6562:5:7","nodeType":"VariableDeclaration","scope":1413,"src":"6547:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1400,"name":"bytes","nodeType":"ElementaryTypeName","src":"6547:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1401,"nodeType":"ArrayTypeName","src":"6547:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6525:43:7"},"returnParameters":{"id":1404,"nodeType":"ParameterList","parameters":[],"src":"6591:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1433,"nodeType":"FunctionDefinition","src":"6638:148:7","nodes":[],"body":{"id":1432,"nodeType":"Block","src":"6740:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1427,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1416,"src":"6762:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1428,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1419,"src":"6768:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1429,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1421,"src":"6775:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1424,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6750:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14543,"src":"6750:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory,string memory) pure external"}},"id":1430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6750:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1431,"nodeType":"ExpressionStatement","src":"6750:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6647:8:7","parameters":{"id":1422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1416,"mutability":"mutable","name":"left","nameLocation":"6671:4:7","nodeType":"VariableDeclaration","scope":1433,"src":"6656:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1414,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1415,"nodeType":"ArrayTypeName","src":"6656:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1419,"mutability":"mutable","name":"right","nameLocation":"6692:5:7","nodeType":"VariableDeclaration","scope":1433,"src":"6677:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1417,"name":"bytes","nodeType":"ElementaryTypeName","src":"6677:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1418,"nodeType":"ArrayTypeName","src":"6677:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1421,"mutability":"mutable","name":"err","nameLocation":"6713:3:7","nodeType":"VariableDeclaration","scope":1433,"src":"6699:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1420,"name":"string","nodeType":"ElementaryTypeName","src":"6699:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6655:62:7"},"returnParameters":{"id":1423,"nodeType":"ParameterList","parameters":[],"src":"6740:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1446,"nodeType":"FunctionDefinition","src":"6813:111:7","nodes":[],"body":{"id":1445,"nodeType":"Block","src":"6886:38:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1441,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1435,"src":"6905:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1442,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"6911:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1440,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[851,869,884,902,956,974,1028,1046,1061,1079,1123,1141,1156,1174,1191,1211,1228,1248,1265,1285,1302,1322,1339,1359,1376,1396,1413,1433],"referencedDeclaration":884,"src":"6896:8:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6896:21:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1444,"nodeType":"ExpressionStatement","src":"6896:21:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"6822:12:7","parameters":{"id":1438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1435,"mutability":"mutable","name":"left","nameLocation":"6843:4:7","nodeType":"VariableDeclaration","scope":1446,"src":"6835:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1434,"name":"uint256","nodeType":"ElementaryTypeName","src":"6835:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1437,"mutability":"mutable","name":"right","nameLocation":"6857:5:7","nodeType":"VariableDeclaration","scope":1446,"src":"6849:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1436,"name":"uint256","nodeType":"ElementaryTypeName","src":"6849:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6834:29:7"},"returnParameters":{"id":1439,"nodeType":"ParameterList","parameters":[],"src":"6886:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1461,"nodeType":"FunctionDefinition","src":"6930:110:7","nodes":[],"body":{"id":1460,"nodeType":"Block","src":"6996:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1456,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1448,"src":"7021:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1457,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1450,"src":"7027:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":1453,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7006:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14993,"src":"7006:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":1458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7006:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1459,"nodeType":"ExpressionStatement","src":"7006:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"6939:11:7","parameters":{"id":1451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1448,"mutability":"mutable","name":"left","nameLocation":"6956:4:7","nodeType":"VariableDeclaration","scope":1461,"src":"6951:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1447,"name":"bool","nodeType":"ElementaryTypeName","src":"6951:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1450,"mutability":"mutable","name":"right","nameLocation":"6967:5:7","nodeType":"VariableDeclaration","scope":1461,"src":"6962:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1449,"name":"bool","nodeType":"ElementaryTypeName","src":"6962:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6950:23:7"},"returnParameters":{"id":1452,"nodeType":"ParameterList","parameters":[],"src":"6996:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1479,"nodeType":"FunctionDefinition","src":"7046:134:7","nodes":[],"body":{"id":1478,"nodeType":"Block","src":"7131:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1473,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1463,"src":"7156:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1474,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1465,"src":"7162:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1475,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1467,"src":"7169:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1470,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7141:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15003,"src":"7141:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":1476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7141:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1477,"nodeType":"ExpressionStatement","src":"7141:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7055:11:7","parameters":{"id":1468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1463,"mutability":"mutable","name":"left","nameLocation":"7072:4:7","nodeType":"VariableDeclaration","scope":1479,"src":"7067:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1462,"name":"bool","nodeType":"ElementaryTypeName","src":"7067:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1465,"mutability":"mutable","name":"right","nameLocation":"7083:5:7","nodeType":"VariableDeclaration","scope":1479,"src":"7078:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1464,"name":"bool","nodeType":"ElementaryTypeName","src":"7078:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1467,"mutability":"mutable","name":"err","nameLocation":"7104:3:7","nodeType":"VariableDeclaration","scope":1479,"src":"7090:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1466,"name":"string","nodeType":"ElementaryTypeName","src":"7090:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7066:42:7"},"returnParameters":{"id":1469,"nodeType":"ParameterList","parameters":[],"src":"7131:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1494,"nodeType":"FunctionDefinition","src":"7186:116:7","nodes":[],"body":{"id":1493,"nodeType":"Block","src":"7258:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1489,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1481,"src":"7283:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1490,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1483,"src":"7289:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1486,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7268:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"7268:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7268:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1492,"nodeType":"ExpressionStatement","src":"7268:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7195:11:7","parameters":{"id":1484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1481,"mutability":"mutable","name":"left","nameLocation":"7215:4:7","nodeType":"VariableDeclaration","scope":1494,"src":"7207:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1480,"name":"uint256","nodeType":"ElementaryTypeName","src":"7207:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1483,"mutability":"mutable","name":"right","nameLocation":"7229:5:7","nodeType":"VariableDeclaration","scope":1494,"src":"7221:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1482,"name":"uint256","nodeType":"ElementaryTypeName","src":"7221:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:29:7"},"returnParameters":{"id":1485,"nodeType":"ParameterList","parameters":[],"src":"7258:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1512,"nodeType":"FunctionDefinition","src":"7308:140:7","nodes":[],"body":{"id":1511,"nodeType":"Block","src":"7399:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1506,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1496,"src":"7424:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1507,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1498,"src":"7430:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1508,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1500,"src":"7437:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1503,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7409:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15211,"src":"7409:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7409:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1510,"nodeType":"ExpressionStatement","src":"7409:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7317:11:7","parameters":{"id":1501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1496,"mutability":"mutable","name":"left","nameLocation":"7337:4:7","nodeType":"VariableDeclaration","scope":1512,"src":"7329:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1495,"name":"uint256","nodeType":"ElementaryTypeName","src":"7329:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1498,"mutability":"mutable","name":"right","nameLocation":"7351:5:7","nodeType":"VariableDeclaration","scope":1512,"src":"7343:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1497,"name":"uint256","nodeType":"ElementaryTypeName","src":"7343:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1500,"mutability":"mutable","name":"err","nameLocation":"7372:3:7","nodeType":"VariableDeclaration","scope":1512,"src":"7358:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1499,"name":"string","nodeType":"ElementaryTypeName","src":"7358:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7328:48:7"},"returnParameters":{"id":1502,"nodeType":"ParameterList","parameters":[],"src":"7399:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1530,"nodeType":"FunctionDefinition","src":"7454:158:7","nodes":[],"body":{"id":1529,"nodeType":"Block","src":"7551:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1524,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1514,"src":"7583:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1525,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"7589:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1526,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1518,"src":"7596:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1521,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7561:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14951,"src":"7561:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7561:44:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1528,"nodeType":"ExpressionStatement","src":"7561:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7463:18:7","parameters":{"id":1519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1514,"mutability":"mutable","name":"left","nameLocation":"7490:4:7","nodeType":"VariableDeclaration","scope":1530,"src":"7482:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1513,"name":"uint256","nodeType":"ElementaryTypeName","src":"7482:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1516,"mutability":"mutable","name":"right","nameLocation":"7504:5:7","nodeType":"VariableDeclaration","scope":1530,"src":"7496:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1515,"name":"uint256","nodeType":"ElementaryTypeName","src":"7496:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1518,"mutability":"mutable","name":"decimals","nameLocation":"7519:8:7","nodeType":"VariableDeclaration","scope":1530,"src":"7511:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1517,"name":"uint256","nodeType":"ElementaryTypeName","src":"7511:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7481:47:7"},"returnParameters":{"id":1520,"nodeType":"ParameterList","parameters":[],"src":"7551:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1551,"nodeType":"FunctionDefinition","src":"7618:210:7","nodes":[],"body":{"id":1550,"nodeType":"Block","src":"7762:66:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1544,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1532,"src":"7794:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1545,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1534,"src":"7800:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1546,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"7807:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1547,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1538,"src":"7817:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1541,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7772:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14963,"src":"7772:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":1548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7772:49:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1549,"nodeType":"ExpressionStatement","src":"7772:49:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7627:18:7","parameters":{"id":1539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1532,"mutability":"mutable","name":"left","nameLocation":"7654:4:7","nodeType":"VariableDeclaration","scope":1551,"src":"7646:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1531,"name":"uint256","nodeType":"ElementaryTypeName","src":"7646:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1534,"mutability":"mutable","name":"right","nameLocation":"7668:5:7","nodeType":"VariableDeclaration","scope":1551,"src":"7660:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1533,"name":"uint256","nodeType":"ElementaryTypeName","src":"7660:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1536,"mutability":"mutable","name":"decimals","nameLocation":"7683:8:7","nodeType":"VariableDeclaration","scope":1551,"src":"7675:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1535,"name":"uint256","nodeType":"ElementaryTypeName","src":"7675:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1538,"mutability":"mutable","name":"err","nameLocation":"7707:3:7","nodeType":"VariableDeclaration","scope":1551,"src":"7693:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1537,"name":"string","nodeType":"ElementaryTypeName","src":"7693:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7645:66:7"},"returnParameters":{"id":1540,"nodeType":"ParameterList","parameters":[],"src":"7762:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1566,"nodeType":"FunctionDefinition","src":"7834:114:7","nodes":[],"body":{"id":1565,"nodeType":"Block","src":"7904:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1561,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1553,"src":"7929:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1562,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1555,"src":"7935:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1558,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"7914:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15219,"src":"7914:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7914:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1564,"nodeType":"ExpressionStatement","src":"7914:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7843:11:7","parameters":{"id":1556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1553,"mutability":"mutable","name":"left","nameLocation":"7862:4:7","nodeType":"VariableDeclaration","scope":1566,"src":"7855:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1552,"name":"int256","nodeType":"ElementaryTypeName","src":"7855:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1555,"mutability":"mutable","name":"right","nameLocation":"7875:5:7","nodeType":"VariableDeclaration","scope":1566,"src":"7868:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1554,"name":"int256","nodeType":"ElementaryTypeName","src":"7868:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7854:27:7"},"returnParameters":{"id":1557,"nodeType":"ParameterList","parameters":[],"src":"7904:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1584,"nodeType":"FunctionDefinition","src":"7954:138:7","nodes":[],"body":{"id":1583,"nodeType":"Block","src":"8043:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1578,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1568,"src":"8068:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1579,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1570,"src":"8074:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1580,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1572,"src":"8081:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1575,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"8053:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15229,"src":"8053:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8053:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1582,"nodeType":"ExpressionStatement","src":"8053:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7963:11:7","parameters":{"id":1573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1568,"mutability":"mutable","name":"left","nameLocation":"7982:4:7","nodeType":"VariableDeclaration","scope":1584,"src":"7975:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1567,"name":"int256","nodeType":"ElementaryTypeName","src":"7975:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1570,"mutability":"mutable","name":"right","nameLocation":"7995:5:7","nodeType":"VariableDeclaration","scope":1584,"src":"7988:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1569,"name":"int256","nodeType":"ElementaryTypeName","src":"7988:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1572,"mutability":"mutable","name":"err","nameLocation":"8016:3:7","nodeType":"VariableDeclaration","scope":1584,"src":"8002:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1571,"name":"string","nodeType":"ElementaryTypeName","src":"8002:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7974:46:7"},"returnParameters":{"id":1574,"nodeType":"ParameterList","parameters":[],"src":"8043:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1602,"nodeType":"FunctionDefinition","src":"8098:156:7","nodes":[],"body":{"id":1601,"nodeType":"Block","src":"8193:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1596,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1586,"src":"8225:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1597,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1588,"src":"8231:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1598,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1590,"src":"8238:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1593,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"8203:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14973,"src":"8203:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8203:44:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1600,"nodeType":"ExpressionStatement","src":"8203:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8107:18:7","parameters":{"id":1591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1586,"mutability":"mutable","name":"left","nameLocation":"8133:4:7","nodeType":"VariableDeclaration","scope":1602,"src":"8126:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1585,"name":"int256","nodeType":"ElementaryTypeName","src":"8126:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1588,"mutability":"mutable","name":"right","nameLocation":"8146:5:7","nodeType":"VariableDeclaration","scope":1602,"src":"8139:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1587,"name":"int256","nodeType":"ElementaryTypeName","src":"8139:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1590,"mutability":"mutable","name":"decimals","nameLocation":"8161:8:7","nodeType":"VariableDeclaration","scope":1602,"src":"8153:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1589,"name":"uint256","nodeType":"ElementaryTypeName","src":"8153:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8125:45:7"},"returnParameters":{"id":1592,"nodeType":"ParameterList","parameters":[],"src":"8193:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1623,"nodeType":"FunctionDefinition","src":"8260:180:7","nodes":[],"body":{"id":1622,"nodeType":"Block","src":"8374:66:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1616,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1604,"src":"8406:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1617,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1606,"src":"8412:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1618,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1608,"src":"8419:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1619,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1610,"src":"8429:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1613,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"8384:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14985,"src":"8384:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":1620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8384:49:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1621,"nodeType":"ExpressionStatement","src":"8384:49:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8269:18:7","parameters":{"id":1611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1604,"mutability":"mutable","name":"left","nameLocation":"8295:4:7","nodeType":"VariableDeclaration","scope":1623,"src":"8288:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1603,"name":"int256","nodeType":"ElementaryTypeName","src":"8288:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1606,"mutability":"mutable","name":"right","nameLocation":"8308:5:7","nodeType":"VariableDeclaration","scope":1623,"src":"8301:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1605,"name":"int256","nodeType":"ElementaryTypeName","src":"8301:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1608,"mutability":"mutable","name":"decimals","nameLocation":"8323:8:7","nodeType":"VariableDeclaration","scope":1623,"src":"8315:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1607,"name":"uint256","nodeType":"ElementaryTypeName","src":"8315:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1610,"mutability":"mutable","name":"err","nameLocation":"8347:3:7","nodeType":"VariableDeclaration","scope":1623,"src":"8333:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1609,"name":"string","nodeType":"ElementaryTypeName","src":"8333:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8287:64:7"},"returnParameters":{"id":1612,"nodeType":"ParameterList","parameters":[],"src":"8374:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1638,"nodeType":"FunctionDefinition","src":"8446:116:7","nodes":[],"body":{"id":1637,"nodeType":"Block","src":"8518:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1633,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"8543:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1634,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1627,"src":"8549:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1630,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"8528:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15237,"src":"8528:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8528:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1636,"nodeType":"ExpressionStatement","src":"8528:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8455:11:7","parameters":{"id":1628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1625,"mutability":"mutable","name":"left","nameLocation":"8475:4:7","nodeType":"VariableDeclaration","scope":1638,"src":"8467:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1624,"name":"address","nodeType":"ElementaryTypeName","src":"8467:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1627,"mutability":"mutable","name":"right","nameLocation":"8489:5:7","nodeType":"VariableDeclaration","scope":1638,"src":"8481:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1626,"name":"address","nodeType":"ElementaryTypeName","src":"8481:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8466:29:7"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[],"src":"8518:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1656,"nodeType":"FunctionDefinition","src":"8568:140:7","nodes":[],"body":{"id":1655,"nodeType":"Block","src":"8659:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1650,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1640,"src":"8684:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1651,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1642,"src":"8690:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1652,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"8697:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1647,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"8669:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15247,"src":"8669:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":1653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8669:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1654,"nodeType":"ExpressionStatement","src":"8669:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8577:11:7","parameters":{"id":1645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1640,"mutability":"mutable","name":"left","nameLocation":"8597:4:7","nodeType":"VariableDeclaration","scope":1656,"src":"8589:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1639,"name":"address","nodeType":"ElementaryTypeName","src":"8589:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1642,"mutability":"mutable","name":"right","nameLocation":"8611:5:7","nodeType":"VariableDeclaration","scope":1656,"src":"8603:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"8603:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1644,"mutability":"mutable","name":"err","nameLocation":"8632:3:7","nodeType":"VariableDeclaration","scope":1656,"src":"8618:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1643,"name":"string","nodeType":"ElementaryTypeName","src":"8618:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8588:48:7"},"returnParameters":{"id":1646,"nodeType":"ParameterList","parameters":[],"src":"8659:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1671,"nodeType":"FunctionDefinition","src":"8714:116:7","nodes":[],"body":{"id":1670,"nodeType":"Block","src":"8786:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1666,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1658,"src":"8811:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1667,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1660,"src":"8817:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1663,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"8796:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15255,"src":"8796:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8796:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1669,"nodeType":"ExpressionStatement","src":"8796:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8723:11:7","parameters":{"id":1661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1658,"mutability":"mutable","name":"left","nameLocation":"8743:4:7","nodeType":"VariableDeclaration","scope":1671,"src":"8735:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8735:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1660,"mutability":"mutable","name":"right","nameLocation":"8757:5:7","nodeType":"VariableDeclaration","scope":1671,"src":"8749:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1659,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8749:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8734:29:7"},"returnParameters":{"id":1662,"nodeType":"ParameterList","parameters":[],"src":"8786:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1689,"nodeType":"FunctionDefinition","src":"8836:140:7","nodes":[],"body":{"id":1688,"nodeType":"Block","src":"8927:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1683,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1673,"src":"8952:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1684,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1675,"src":"8958:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1685,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1677,"src":"8965:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1680,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"8937:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15265,"src":"8937:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8937:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1687,"nodeType":"ExpressionStatement","src":"8937:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8845:11:7","parameters":{"id":1678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1673,"mutability":"mutable","name":"left","nameLocation":"8865:4:7","nodeType":"VariableDeclaration","scope":1689,"src":"8857:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1672,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8857:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1675,"mutability":"mutable","name":"right","nameLocation":"8879:5:7","nodeType":"VariableDeclaration","scope":1689,"src":"8871:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8871:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1677,"mutability":"mutable","name":"err","nameLocation":"8900:3:7","nodeType":"VariableDeclaration","scope":1689,"src":"8886:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1676,"name":"string","nodeType":"ElementaryTypeName","src":"8886:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8856:48:7"},"returnParameters":{"id":1679,"nodeType":"ParameterList","parameters":[],"src":"8927:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1702,"nodeType":"FunctionDefinition","src":"8982:115:7","nodes":[],"body":{"id":1701,"nodeType":"Block","src":"9056:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1697,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1691,"src":"9078:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1698,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"9084:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1696,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1461,1479,1494,1512,1566,1584,1638,1656,1671,1689,1733,1751,1766,1784,1801,1821,1838,1858,1875,1895,1912,1932,1949,1969,1986,2006,2023,2043],"referencedDeclaration":1671,"src":"9066:11:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9066:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1700,"nodeType":"ExpressionStatement","src":"9066:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"8991:13:7","parameters":{"id":1694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1691,"mutability":"mutable","name":"left","nameLocation":"9013:4:7","nodeType":"VariableDeclaration","scope":1702,"src":"9005:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9005:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1693,"mutability":"mutable","name":"right","nameLocation":"9027:5:7","nodeType":"VariableDeclaration","scope":1702,"src":"9019:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9019:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9004:29:7"},"returnParameters":{"id":1695,"nodeType":"ParameterList","parameters":[],"src":"9056:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1718,"nodeType":"FunctionDefinition","src":"9103:139:7","nodes":[],"body":{"id":1717,"nodeType":"Block","src":"9196:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1712,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1704,"src":"9218:4:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1713,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1706,"src":"9224:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1714,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1708,"src":"9231:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1711,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1461,1479,1494,1512,1566,1584,1638,1656,1671,1689,1733,1751,1766,1784,1801,1821,1838,1858,1875,1895,1912,1932,1949,1969,1986,2006,2023,2043],"referencedDeclaration":1689,"src":"9206:11:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":1715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9206:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1716,"nodeType":"ExpressionStatement","src":"9206:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"9112:13:7","parameters":{"id":1709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1704,"mutability":"mutable","name":"left","nameLocation":"9134:4:7","nodeType":"VariableDeclaration","scope":1718,"src":"9126:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9126:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1706,"mutability":"mutable","name":"right","nameLocation":"9148:5:7","nodeType":"VariableDeclaration","scope":1718,"src":"9140:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9140:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1708,"mutability":"mutable","name":"err","nameLocation":"9169:3:7","nodeType":"VariableDeclaration","scope":1718,"src":"9155:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1707,"name":"string","nodeType":"ElementaryTypeName","src":"9155:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9125:48:7"},"returnParameters":{"id":1710,"nodeType":"ParameterList","parameters":[],"src":"9196:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1733,"nodeType":"FunctionDefinition","src":"9248:128:7","nodes":[],"body":{"id":1732,"nodeType":"Block","src":"9332:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1728,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1720,"src":"9357:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1729,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1722,"src":"9363:5:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1725,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"9342:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15011,"src":"9342:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":1730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9342:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1731,"nodeType":"ExpressionStatement","src":"9342:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9257:11:7","parameters":{"id":1723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1720,"mutability":"mutable","name":"left","nameLocation":"9283:4:7","nodeType":"VariableDeclaration","scope":1733,"src":"9269:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1719,"name":"string","nodeType":"ElementaryTypeName","src":"9269:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1722,"mutability":"mutable","name":"right","nameLocation":"9303:5:7","nodeType":"VariableDeclaration","scope":1733,"src":"9289:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1721,"name":"string","nodeType":"ElementaryTypeName","src":"9289:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9268:41:7"},"returnParameters":{"id":1724,"nodeType":"ParameterList","parameters":[],"src":"9332:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1751,"nodeType":"FunctionDefinition","src":"9382:152:7","nodes":[],"body":{"id":1750,"nodeType":"Block","src":"9485:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1745,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1735,"src":"9510:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1746,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1737,"src":"9516:5:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1747,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1739,"src":"9523:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1742,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"9495:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15021,"src":"9495:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) pure external"}},"id":1748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9495:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1749,"nodeType":"ExpressionStatement","src":"9495:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9391:11:7","parameters":{"id":1740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1735,"mutability":"mutable","name":"left","nameLocation":"9417:4:7","nodeType":"VariableDeclaration","scope":1751,"src":"9403:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1734,"name":"string","nodeType":"ElementaryTypeName","src":"9403:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1737,"mutability":"mutable","name":"right","nameLocation":"9437:5:7","nodeType":"VariableDeclaration","scope":1751,"src":"9423:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1736,"name":"string","nodeType":"ElementaryTypeName","src":"9423:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1739,"mutability":"mutable","name":"err","nameLocation":"9458:3:7","nodeType":"VariableDeclaration","scope":1751,"src":"9444:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1738,"name":"string","nodeType":"ElementaryTypeName","src":"9444:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9402:60:7"},"returnParameters":{"id":1741,"nodeType":"ParameterList","parameters":[],"src":"9485:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1766,"nodeType":"FunctionDefinition","src":"9540:126:7","nodes":[],"body":{"id":1765,"nodeType":"Block","src":"9622:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1761,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1753,"src":"9647:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1762,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1755,"src":"9653:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1758,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"9632:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15029,"src":"9632:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9632:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1764,"nodeType":"ExpressionStatement","src":"9632:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9549:11:7","parameters":{"id":1756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1753,"mutability":"mutable","name":"left","nameLocation":"9574:4:7","nodeType":"VariableDeclaration","scope":1766,"src":"9561:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1752,"name":"bytes","nodeType":"ElementaryTypeName","src":"9561:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1755,"mutability":"mutable","name":"right","nameLocation":"9593:5:7","nodeType":"VariableDeclaration","scope":1766,"src":"9580:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1754,"name":"bytes","nodeType":"ElementaryTypeName","src":"9580:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9560:39:7"},"returnParameters":{"id":1757,"nodeType":"ParameterList","parameters":[],"src":"9622:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1784,"nodeType":"FunctionDefinition","src":"9672:150:7","nodes":[],"body":{"id":1783,"nodeType":"Block","src":"9773:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1778,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1768,"src":"9798:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1779,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1770,"src":"9804:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1780,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1772,"src":"9811:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1775,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"9783:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15039,"src":"9783:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure external"}},"id":1781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9783:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1782,"nodeType":"ExpressionStatement","src":"9783:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9681:11:7","parameters":{"id":1773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1768,"mutability":"mutable","name":"left","nameLocation":"9706:4:7","nodeType":"VariableDeclaration","scope":1784,"src":"9693:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1767,"name":"bytes","nodeType":"ElementaryTypeName","src":"9693:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1770,"mutability":"mutable","name":"right","nameLocation":"9725:5:7","nodeType":"VariableDeclaration","scope":1784,"src":"9712:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1769,"name":"bytes","nodeType":"ElementaryTypeName","src":"9712:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1772,"mutability":"mutable","name":"err","nameLocation":"9746:3:7","nodeType":"VariableDeclaration","scope":1784,"src":"9732:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1771,"name":"string","nodeType":"ElementaryTypeName","src":"9732:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9692:58:7"},"returnParameters":{"id":1774,"nodeType":"ParameterList","parameters":[],"src":"9773:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1801,"nodeType":"FunctionDefinition","src":"9828:128:7","nodes":[],"body":{"id":1800,"nodeType":"Block","src":"9912:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1796,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1787,"src":"9937:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1797,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"9943:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":1793,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"9922:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15049,"src":"9922:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory) pure external"}},"id":1798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9922:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1799,"nodeType":"ExpressionStatement","src":"9922:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9837:11:7","parameters":{"id":1791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1787,"mutability":"mutable","name":"left","nameLocation":"9863:4:7","nodeType":"VariableDeclaration","scope":1801,"src":"9849:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1785,"name":"bool","nodeType":"ElementaryTypeName","src":"9849:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1786,"nodeType":"ArrayTypeName","src":"9849:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1790,"mutability":"mutable","name":"right","nameLocation":"9883:5:7","nodeType":"VariableDeclaration","scope":1801,"src":"9869:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1788,"name":"bool","nodeType":"ElementaryTypeName","src":"9869:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1789,"nodeType":"ArrayTypeName","src":"9869:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9848:41:7"},"returnParameters":{"id":1792,"nodeType":"ParameterList","parameters":[],"src":"9912:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1821,"nodeType":"FunctionDefinition","src":"9962:152:7","nodes":[],"body":{"id":1820,"nodeType":"Block","src":"10065:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1815,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1804,"src":"10090:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1816,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"10096:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1817,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1809,"src":"10103:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1812,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"10075:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15061,"src":"10075:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory,string memory) pure external"}},"id":1818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10075:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1819,"nodeType":"ExpressionStatement","src":"10075:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9971:11:7","parameters":{"id":1810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1804,"mutability":"mutable","name":"left","nameLocation":"9997:4:7","nodeType":"VariableDeclaration","scope":1821,"src":"9983:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1802,"name":"bool","nodeType":"ElementaryTypeName","src":"9983:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1803,"nodeType":"ArrayTypeName","src":"9983:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1807,"mutability":"mutable","name":"right","nameLocation":"10017:5:7","nodeType":"VariableDeclaration","scope":1821,"src":"10003:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1805,"name":"bool","nodeType":"ElementaryTypeName","src":"10003:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1806,"nodeType":"ArrayTypeName","src":"10003:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1809,"mutability":"mutable","name":"err","nameLocation":"10038:3:7","nodeType":"VariableDeclaration","scope":1821,"src":"10024:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1808,"name":"string","nodeType":"ElementaryTypeName","src":"10024:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9982:60:7"},"returnParameters":{"id":1811,"nodeType":"ParameterList","parameters":[],"src":"10065:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1838,"nodeType":"FunctionDefinition","src":"10120:134:7","nodes":[],"body":{"id":1837,"nodeType":"Block","src":"10210:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1833,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1824,"src":"10235:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1834,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1827,"src":"10241:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":1830,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"10220:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15071,"src":"10220:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory) pure external"}},"id":1835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10220:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1836,"nodeType":"ExpressionStatement","src":"10220:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10129:11:7","parameters":{"id":1828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1824,"mutability":"mutable","name":"left","nameLocation":"10158:4:7","nodeType":"VariableDeclaration","scope":1838,"src":"10141:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1822,"name":"uint256","nodeType":"ElementaryTypeName","src":"10141:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1823,"nodeType":"ArrayTypeName","src":"10141:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1827,"mutability":"mutable","name":"right","nameLocation":"10181:5:7","nodeType":"VariableDeclaration","scope":1838,"src":"10164:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1825,"name":"uint256","nodeType":"ElementaryTypeName","src":"10164:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1826,"nodeType":"ArrayTypeName","src":"10164:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10140:47:7"},"returnParameters":{"id":1829,"nodeType":"ParameterList","parameters":[],"src":"10210:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1858,"nodeType":"FunctionDefinition","src":"10260:158:7","nodes":[],"body":{"id":1857,"nodeType":"Block","src":"10369:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1852,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1841,"src":"10394:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1853,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1844,"src":"10400:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1854,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"10407:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1849,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"10379:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15083,"src":"10379:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory,string memory) pure external"}},"id":1855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10379:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1856,"nodeType":"ExpressionStatement","src":"10379:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10269:11:7","parameters":{"id":1847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1841,"mutability":"mutable","name":"left","nameLocation":"10298:4:7","nodeType":"VariableDeclaration","scope":1858,"src":"10281:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1839,"name":"uint256","nodeType":"ElementaryTypeName","src":"10281:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1840,"nodeType":"ArrayTypeName","src":"10281:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1844,"mutability":"mutable","name":"right","nameLocation":"10321:5:7","nodeType":"VariableDeclaration","scope":1858,"src":"10304:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1842,"name":"uint256","nodeType":"ElementaryTypeName","src":"10304:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1843,"nodeType":"ArrayTypeName","src":"10304:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1846,"mutability":"mutable","name":"err","nameLocation":"10342:3:7","nodeType":"VariableDeclaration","scope":1858,"src":"10328:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1845,"name":"string","nodeType":"ElementaryTypeName","src":"10328:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10280:66:7"},"returnParameters":{"id":1848,"nodeType":"ParameterList","parameters":[],"src":"10369:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1875,"nodeType":"FunctionDefinition","src":"10424:132:7","nodes":[],"body":{"id":1874,"nodeType":"Block","src":"10512:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1870,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1861,"src":"10537:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1871,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1864,"src":"10543:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":1867,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"10522:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15093,"src":"10522:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory) pure external"}},"id":1872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10522:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1873,"nodeType":"ExpressionStatement","src":"10522:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10433:11:7","parameters":{"id":1865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1861,"mutability":"mutable","name":"left","nameLocation":"10461:4:7","nodeType":"VariableDeclaration","scope":1875,"src":"10445:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1859,"name":"int256","nodeType":"ElementaryTypeName","src":"10445:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1860,"nodeType":"ArrayTypeName","src":"10445:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1864,"mutability":"mutable","name":"right","nameLocation":"10483:5:7","nodeType":"VariableDeclaration","scope":1875,"src":"10467:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1862,"name":"int256","nodeType":"ElementaryTypeName","src":"10467:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1863,"nodeType":"ArrayTypeName","src":"10467:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"10444:45:7"},"returnParameters":{"id":1866,"nodeType":"ParameterList","parameters":[],"src":"10512:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1895,"nodeType":"FunctionDefinition","src":"10562:156:7","nodes":[],"body":{"id":1894,"nodeType":"Block","src":"10669:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1889,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1878,"src":"10694:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1890,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1881,"src":"10700:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1891,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1883,"src":"10707:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1886,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"10679:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15105,"src":"10679:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory,string memory) pure external"}},"id":1892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10679:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1893,"nodeType":"ExpressionStatement","src":"10679:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10571:11:7","parameters":{"id":1884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1878,"mutability":"mutable","name":"left","nameLocation":"10599:4:7","nodeType":"VariableDeclaration","scope":1895,"src":"10583:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1876,"name":"int256","nodeType":"ElementaryTypeName","src":"10583:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1877,"nodeType":"ArrayTypeName","src":"10583:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1881,"mutability":"mutable","name":"right","nameLocation":"10621:5:7","nodeType":"VariableDeclaration","scope":1895,"src":"10605:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1879,"name":"int256","nodeType":"ElementaryTypeName","src":"10605:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1880,"nodeType":"ArrayTypeName","src":"10605:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1883,"mutability":"mutable","name":"err","nameLocation":"10642:3:7","nodeType":"VariableDeclaration","scope":1895,"src":"10628:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"10628:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10582:64:7"},"returnParameters":{"id":1885,"nodeType":"ParameterList","parameters":[],"src":"10669:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1912,"nodeType":"FunctionDefinition","src":"10724:134:7","nodes":[],"body":{"id":1911,"nodeType":"Block","src":"10814:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1907,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1898,"src":"10839:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1908,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"10845:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":1904,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"10824:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15123,"src":"10824:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory) pure external"}},"id":1909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10824:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1910,"nodeType":"ExpressionStatement","src":"10824:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10733:11:7","parameters":{"id":1902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1898,"mutability":"mutable","name":"left","nameLocation":"10762:4:7","nodeType":"VariableDeclaration","scope":1912,"src":"10745:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1896,"name":"address","nodeType":"ElementaryTypeName","src":"10745:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1897,"nodeType":"ArrayTypeName","src":"10745:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1901,"mutability":"mutable","name":"right","nameLocation":"10785:5:7","nodeType":"VariableDeclaration","scope":1912,"src":"10768:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1899,"name":"address","nodeType":"ElementaryTypeName","src":"10768:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1900,"nodeType":"ArrayTypeName","src":"10768:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10744:47:7"},"returnParameters":{"id":1903,"nodeType":"ParameterList","parameters":[],"src":"10814:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1932,"nodeType":"FunctionDefinition","src":"10864:158:7","nodes":[],"body":{"id":1931,"nodeType":"Block","src":"10973:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1926,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1915,"src":"10998:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1927,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1918,"src":"11004:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1928,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1920,"src":"11011:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1923,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"10983:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15135,"src":"10983:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory,string memory) pure external"}},"id":1929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10983:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1930,"nodeType":"ExpressionStatement","src":"10983:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10873:11:7","parameters":{"id":1921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1915,"mutability":"mutable","name":"left","nameLocation":"10902:4:7","nodeType":"VariableDeclaration","scope":1932,"src":"10885:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1913,"name":"address","nodeType":"ElementaryTypeName","src":"10885:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ArrayTypeName","src":"10885:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1918,"mutability":"mutable","name":"right","nameLocation":"10925:5:7","nodeType":"VariableDeclaration","scope":1932,"src":"10908:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1916,"name":"address","nodeType":"ElementaryTypeName","src":"10908:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1917,"nodeType":"ArrayTypeName","src":"10908:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1920,"mutability":"mutable","name":"err","nameLocation":"10946:3:7","nodeType":"VariableDeclaration","scope":1932,"src":"10932:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1919,"name":"string","nodeType":"ElementaryTypeName","src":"10932:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:66:7"},"returnParameters":{"id":1922,"nodeType":"ParameterList","parameters":[],"src":"10973:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1949,"nodeType":"FunctionDefinition","src":"11028:134:7","nodes":[],"body":{"id":1948,"nodeType":"Block","src":"11118:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1944,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"11143:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1945,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1938,"src":"11149:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":1941,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"11128:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"11128:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory) pure external"}},"id":1946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11128:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1947,"nodeType":"ExpressionStatement","src":"11128:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11037:11:7","parameters":{"id":1939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1935,"mutability":"mutable","name":"left","nameLocation":"11066:4:7","nodeType":"VariableDeclaration","scope":1949,"src":"11049:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11049:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1934,"nodeType":"ArrayTypeName","src":"11049:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1938,"mutability":"mutable","name":"right","nameLocation":"11089:5:7","nodeType":"VariableDeclaration","scope":1949,"src":"11072:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11072:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1937,"nodeType":"ArrayTypeName","src":"11072:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11048:47:7"},"returnParameters":{"id":1940,"nodeType":"ParameterList","parameters":[],"src":"11118:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1969,"nodeType":"FunctionDefinition","src":"11168:158:7","nodes":[],"body":{"id":1968,"nodeType":"Block","src":"11277:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1963,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1952,"src":"11302:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1964,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1955,"src":"11308:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1965,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1957,"src":"11315:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1960,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"11287:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15157,"src":"11287:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory,string memory) pure external"}},"id":1966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11287:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1967,"nodeType":"ExpressionStatement","src":"11287:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11177:11:7","parameters":{"id":1958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1952,"mutability":"mutable","name":"left","nameLocation":"11206:4:7","nodeType":"VariableDeclaration","scope":1969,"src":"11189:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11189:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1951,"nodeType":"ArrayTypeName","src":"11189:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1955,"mutability":"mutable","name":"right","nameLocation":"11229:5:7","nodeType":"VariableDeclaration","scope":1969,"src":"11212:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11212:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1954,"nodeType":"ArrayTypeName","src":"11212:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1957,"mutability":"mutable","name":"err","nameLocation":"11250:3:7","nodeType":"VariableDeclaration","scope":1969,"src":"11236:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1956,"name":"string","nodeType":"ElementaryTypeName","src":"11236:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11188:66:7"},"returnParameters":{"id":1959,"nodeType":"ParameterList","parameters":[],"src":"11277:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1986,"nodeType":"FunctionDefinition","src":"11332:132:7","nodes":[],"body":{"id":1985,"nodeType":"Block","src":"11420:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":1981,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"11445:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1982,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"11451:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":1978,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"11430:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15167,"src":"11430:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory) pure external"}},"id":1983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11430:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1984,"nodeType":"ExpressionStatement","src":"11430:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11341:11:7","parameters":{"id":1976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1972,"mutability":"mutable","name":"left","nameLocation":"11369:4:7","nodeType":"VariableDeclaration","scope":1986,"src":"11353:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1970,"name":"string","nodeType":"ElementaryTypeName","src":"11353:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1971,"nodeType":"ArrayTypeName","src":"11353:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1975,"mutability":"mutable","name":"right","nameLocation":"11391:5:7","nodeType":"VariableDeclaration","scope":1986,"src":"11375:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1973,"name":"string","nodeType":"ElementaryTypeName","src":"11375:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1974,"nodeType":"ArrayTypeName","src":"11375:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"11352:45:7"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"11420:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2006,"nodeType":"FunctionDefinition","src":"11470:156:7","nodes":[],"body":{"id":2005,"nodeType":"Block","src":"11577:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2000,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1989,"src":"11602:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":2001,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1992,"src":"11608:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":2002,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"11615:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1997,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"11587:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":1999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15179,"src":"11587:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory,string memory) pure external"}},"id":2003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11587:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2004,"nodeType":"ExpressionStatement","src":"11587:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11479:11:7","parameters":{"id":1995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1989,"mutability":"mutable","name":"left","nameLocation":"11507:4:7","nodeType":"VariableDeclaration","scope":2006,"src":"11491:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1987,"name":"string","nodeType":"ElementaryTypeName","src":"11491:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1988,"nodeType":"ArrayTypeName","src":"11491:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1992,"mutability":"mutable","name":"right","nameLocation":"11529:5:7","nodeType":"VariableDeclaration","scope":2006,"src":"11513:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1990,"name":"string","nodeType":"ElementaryTypeName","src":"11513:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1991,"nodeType":"ArrayTypeName","src":"11513:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1994,"mutability":"mutable","name":"err","nameLocation":"11550:3:7","nodeType":"VariableDeclaration","scope":2006,"src":"11536:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1993,"name":"string","nodeType":"ElementaryTypeName","src":"11536:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11490:64:7"},"returnParameters":{"id":1996,"nodeType":"ParameterList","parameters":[],"src":"11577:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2023,"nodeType":"FunctionDefinition","src":"11632:130:7","nodes":[],"body":{"id":2022,"nodeType":"Block","src":"11718:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2018,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2009,"src":"11743:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":2019,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2012,"src":"11749:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":2015,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"11728:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15189,"src":"11728:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory) pure external"}},"id":2020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11728:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2021,"nodeType":"ExpressionStatement","src":"11728:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11641:11:7","parameters":{"id":2013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2009,"mutability":"mutable","name":"left","nameLocation":"11668:4:7","nodeType":"VariableDeclaration","scope":2023,"src":"11653:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2007,"name":"bytes","nodeType":"ElementaryTypeName","src":"11653:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2008,"nodeType":"ArrayTypeName","src":"11653:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":2012,"mutability":"mutable","name":"right","nameLocation":"11689:5:7","nodeType":"VariableDeclaration","scope":2023,"src":"11674:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2010,"name":"bytes","nodeType":"ElementaryTypeName","src":"11674:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2011,"nodeType":"ArrayTypeName","src":"11674:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11652:43:7"},"returnParameters":{"id":2014,"nodeType":"ParameterList","parameters":[],"src":"11718:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2043,"nodeType":"FunctionDefinition","src":"11768:154:7","nodes":[],"body":{"id":2042,"nodeType":"Block","src":"11873:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2037,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2026,"src":"11898:4:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":2038,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2029,"src":"11904:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":2039,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2031,"src":"11911:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2034,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"11883:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":15201,"src":"11883:14:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory,string memory) pure external"}},"id":2040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11883:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2041,"nodeType":"ExpressionStatement","src":"11883:32:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11777:11:7","parameters":{"id":2032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2026,"mutability":"mutable","name":"left","nameLocation":"11804:4:7","nodeType":"VariableDeclaration","scope":2043,"src":"11789:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2024,"name":"bytes","nodeType":"ElementaryTypeName","src":"11789:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2025,"nodeType":"ArrayTypeName","src":"11789:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":2029,"mutability":"mutable","name":"right","nameLocation":"11825:5:7","nodeType":"VariableDeclaration","scope":2043,"src":"11810:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2027,"name":"bytes","nodeType":"ElementaryTypeName","src":"11810:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2028,"nodeType":"ArrayTypeName","src":"11810:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":2031,"mutability":"mutable","name":"err","nameLocation":"11846:3:7","nodeType":"VariableDeclaration","scope":2043,"src":"11832:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2030,"name":"string","nodeType":"ElementaryTypeName","src":"11832:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11788:62:7"},"returnParameters":{"id":2033,"nodeType":"ParameterList","parameters":[],"src":"11873:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2058,"nodeType":"FunctionDefinition","src":"11928:110:7","nodes":[],"body":{"id":2057,"nodeType":"Block","src":"11997:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2053,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2045,"src":"12019:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2054,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2047,"src":"12025:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2050,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"12007:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14913,"src":"12007:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12007:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2056,"nodeType":"ExpressionStatement","src":"12007:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11937:8:7","parameters":{"id":2048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2045,"mutability":"mutable","name":"left","nameLocation":"11954:4:7","nodeType":"VariableDeclaration","scope":2058,"src":"11946:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2044,"name":"uint256","nodeType":"ElementaryTypeName","src":"11946:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2047,"mutability":"mutable","name":"right","nameLocation":"11968:5:7","nodeType":"VariableDeclaration","scope":2058,"src":"11960:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2046,"name":"uint256","nodeType":"ElementaryTypeName","src":"11960:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:29:7"},"returnParameters":{"id":2049,"nodeType":"ParameterList","parameters":[],"src":"11997:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2076,"nodeType":"FunctionDefinition","src":"12044:134:7","nodes":[],"body":{"id":2075,"nodeType":"Block","src":"12132:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2070,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2060,"src":"12154:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2071,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2062,"src":"12160:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2072,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2064,"src":"12167:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2067,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"12142:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14923,"src":"12142:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12142:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2074,"nodeType":"ExpressionStatement","src":"12142:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12053:8:7","parameters":{"id":2065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2060,"mutability":"mutable","name":"left","nameLocation":"12070:4:7","nodeType":"VariableDeclaration","scope":2076,"src":"12062:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2059,"name":"uint256","nodeType":"ElementaryTypeName","src":"12062:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2062,"mutability":"mutable","name":"right","nameLocation":"12084:5:7","nodeType":"VariableDeclaration","scope":2076,"src":"12076:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2061,"name":"uint256","nodeType":"ElementaryTypeName","src":"12076:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2064,"mutability":"mutable","name":"err","nameLocation":"12105:3:7","nodeType":"VariableDeclaration","scope":2076,"src":"12091:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2063,"name":"string","nodeType":"ElementaryTypeName","src":"12091:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12061:48:7"},"returnParameters":{"id":2066,"nodeType":"ParameterList","parameters":[],"src":"12132:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2094,"nodeType":"FunctionDefinition","src":"12184:152:7","nodes":[],"body":{"id":2093,"nodeType":"Block","src":"12278:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2088,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2078,"src":"12307:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2089,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2080,"src":"12313:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2090,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"12320:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2085,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"12288:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14871,"src":"12288:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12288:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2092,"nodeType":"ExpressionStatement","src":"12288:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12193:15:7","parameters":{"id":2083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2078,"mutability":"mutable","name":"left","nameLocation":"12217:4:7","nodeType":"VariableDeclaration","scope":2094,"src":"12209:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2077,"name":"uint256","nodeType":"ElementaryTypeName","src":"12209:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2080,"mutability":"mutable","name":"right","nameLocation":"12231:5:7","nodeType":"VariableDeclaration","scope":2094,"src":"12223:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2079,"name":"uint256","nodeType":"ElementaryTypeName","src":"12223:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2082,"mutability":"mutable","name":"decimals","nameLocation":"12246:8:7","nodeType":"VariableDeclaration","scope":2094,"src":"12238:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2081,"name":"uint256","nodeType":"ElementaryTypeName","src":"12238:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12208:47:7"},"returnParameters":{"id":2084,"nodeType":"ParameterList","parameters":[],"src":"12278:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2115,"nodeType":"FunctionDefinition","src":"12342:176:7","nodes":[],"body":{"id":2114,"nodeType":"Block","src":"12455:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2108,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2096,"src":"12484:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2109,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2098,"src":"12490:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2110,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2100,"src":"12497:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2111,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2102,"src":"12507:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2105,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"12465:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14883,"src":"12465:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12465:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2113,"nodeType":"ExpressionStatement","src":"12465:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12351:15:7","parameters":{"id":2103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2096,"mutability":"mutable","name":"left","nameLocation":"12375:4:7","nodeType":"VariableDeclaration","scope":2115,"src":"12367:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2095,"name":"uint256","nodeType":"ElementaryTypeName","src":"12367:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2098,"mutability":"mutable","name":"right","nameLocation":"12389:5:7","nodeType":"VariableDeclaration","scope":2115,"src":"12381:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2097,"name":"uint256","nodeType":"ElementaryTypeName","src":"12381:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2100,"mutability":"mutable","name":"decimals","nameLocation":"12404:8:7","nodeType":"VariableDeclaration","scope":2115,"src":"12396:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2099,"name":"uint256","nodeType":"ElementaryTypeName","src":"12396:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2102,"mutability":"mutable","name":"err","nameLocation":"12428:3:7","nodeType":"VariableDeclaration","scope":2115,"src":"12414:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2101,"name":"string","nodeType":"ElementaryTypeName","src":"12414:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12366:66:7"},"returnParameters":{"id":2104,"nodeType":"ParameterList","parameters":[],"src":"12455:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2130,"nodeType":"FunctionDefinition","src":"12524:108:7","nodes":[],"body":{"id":2129,"nodeType":"Block","src":"12591:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2125,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2117,"src":"12613:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2126,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2119,"src":"12619:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2122,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"12601:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14931,"src":"12601:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12601:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2128,"nodeType":"ExpressionStatement","src":"12601:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12533:8:7","parameters":{"id":2120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2117,"mutability":"mutable","name":"left","nameLocation":"12549:4:7","nodeType":"VariableDeclaration","scope":2130,"src":"12542:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2116,"name":"int256","nodeType":"ElementaryTypeName","src":"12542:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2119,"mutability":"mutable","name":"right","nameLocation":"12562:5:7","nodeType":"VariableDeclaration","scope":2130,"src":"12555:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2118,"name":"int256","nodeType":"ElementaryTypeName","src":"12555:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12541:27:7"},"returnParameters":{"id":2121,"nodeType":"ParameterList","parameters":[],"src":"12591:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2148,"nodeType":"FunctionDefinition","src":"12638:132:7","nodes":[],"body":{"id":2147,"nodeType":"Block","src":"12724:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2142,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2132,"src":"12746:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2143,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2134,"src":"12752:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2144,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2136,"src":"12759:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2139,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"12734:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14941,"src":"12734:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12734:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2146,"nodeType":"ExpressionStatement","src":"12734:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12647:8:7","parameters":{"id":2137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2132,"mutability":"mutable","name":"left","nameLocation":"12663:4:7","nodeType":"VariableDeclaration","scope":2148,"src":"12656:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2131,"name":"int256","nodeType":"ElementaryTypeName","src":"12656:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2134,"mutability":"mutable","name":"right","nameLocation":"12676:5:7","nodeType":"VariableDeclaration","scope":2148,"src":"12669:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2133,"name":"int256","nodeType":"ElementaryTypeName","src":"12669:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2136,"mutability":"mutable","name":"err","nameLocation":"12697:3:7","nodeType":"VariableDeclaration","scope":2148,"src":"12683:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2135,"name":"string","nodeType":"ElementaryTypeName","src":"12683:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12655:46:7"},"returnParameters":{"id":2138,"nodeType":"ParameterList","parameters":[],"src":"12724:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2166,"nodeType":"FunctionDefinition","src":"12776:150:7","nodes":[],"body":{"id":2165,"nodeType":"Block","src":"12868:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2160,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2150,"src":"12897:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2161,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2152,"src":"12903:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2162,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2154,"src":"12910:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2157,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"12878:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14893,"src":"12878:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12878:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2164,"nodeType":"ExpressionStatement","src":"12878:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12785:15:7","parameters":{"id":2155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2150,"mutability":"mutable","name":"left","nameLocation":"12808:4:7","nodeType":"VariableDeclaration","scope":2166,"src":"12801:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2149,"name":"int256","nodeType":"ElementaryTypeName","src":"12801:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2152,"mutability":"mutable","name":"right","nameLocation":"12821:5:7","nodeType":"VariableDeclaration","scope":2166,"src":"12814:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2151,"name":"int256","nodeType":"ElementaryTypeName","src":"12814:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2154,"mutability":"mutable","name":"decimals","nameLocation":"12836:8:7","nodeType":"VariableDeclaration","scope":2166,"src":"12828:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2153,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12800:45:7"},"returnParameters":{"id":2156,"nodeType":"ParameterList","parameters":[],"src":"12868:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2187,"nodeType":"FunctionDefinition","src":"12932:174:7","nodes":[],"body":{"id":2186,"nodeType":"Block","src":"13043:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2180,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2168,"src":"13072:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2181,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2170,"src":"13078:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2182,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2172,"src":"13085:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2183,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2174,"src":"13095:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2177,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"13053:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14905,"src":"13053:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13053:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2185,"nodeType":"ExpressionStatement","src":"13053:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12941:15:7","parameters":{"id":2175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2168,"mutability":"mutable","name":"left","nameLocation":"12964:4:7","nodeType":"VariableDeclaration","scope":2187,"src":"12957:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2167,"name":"int256","nodeType":"ElementaryTypeName","src":"12957:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2170,"mutability":"mutable","name":"right","nameLocation":"12977:5:7","nodeType":"VariableDeclaration","scope":2187,"src":"12970:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2169,"name":"int256","nodeType":"ElementaryTypeName","src":"12970:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2172,"mutability":"mutable","name":"decimals","nameLocation":"12992:8:7","nodeType":"VariableDeclaration","scope":2187,"src":"12984:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2171,"name":"uint256","nodeType":"ElementaryTypeName","src":"12984:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2174,"mutability":"mutable","name":"err","nameLocation":"13016:3:7","nodeType":"VariableDeclaration","scope":2187,"src":"13002:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2173,"name":"string","nodeType":"ElementaryTypeName","src":"13002:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12956:64:7"},"returnParameters":{"id":2176,"nodeType":"ParameterList","parameters":[],"src":"13043:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2202,"nodeType":"FunctionDefinition","src":"13112:110:7","nodes":[],"body":{"id":2201,"nodeType":"Block","src":"13181:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2197,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2189,"src":"13203:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2198,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2191,"src":"13209:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2194,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"13191:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14753,"src":"13191:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13191:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2200,"nodeType":"ExpressionStatement","src":"13191:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13121:8:7","parameters":{"id":2192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2189,"mutability":"mutable","name":"left","nameLocation":"13138:4:7","nodeType":"VariableDeclaration","scope":2202,"src":"13130:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2188,"name":"uint256","nodeType":"ElementaryTypeName","src":"13130:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2191,"mutability":"mutable","name":"right","nameLocation":"13152:5:7","nodeType":"VariableDeclaration","scope":2202,"src":"13144:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2190,"name":"uint256","nodeType":"ElementaryTypeName","src":"13144:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13129:29:7"},"returnParameters":{"id":2193,"nodeType":"ParameterList","parameters":[],"src":"13181:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2220,"nodeType":"FunctionDefinition","src":"13228:134:7","nodes":[],"body":{"id":2219,"nodeType":"Block","src":"13316:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2214,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2204,"src":"13338:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2215,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"13344:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2216,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2208,"src":"13351:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2211,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"13326:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14763,"src":"13326:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13326:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2218,"nodeType":"ExpressionStatement","src":"13326:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13237:8:7","parameters":{"id":2209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2204,"mutability":"mutable","name":"left","nameLocation":"13254:4:7","nodeType":"VariableDeclaration","scope":2220,"src":"13246:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2203,"name":"uint256","nodeType":"ElementaryTypeName","src":"13246:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2206,"mutability":"mutable","name":"right","nameLocation":"13268:5:7","nodeType":"VariableDeclaration","scope":2220,"src":"13260:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2205,"name":"uint256","nodeType":"ElementaryTypeName","src":"13260:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2208,"mutability":"mutable","name":"err","nameLocation":"13289:3:7","nodeType":"VariableDeclaration","scope":2220,"src":"13275:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2207,"name":"string","nodeType":"ElementaryTypeName","src":"13275:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13245:48:7"},"returnParameters":{"id":2210,"nodeType":"ParameterList","parameters":[],"src":"13316:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2238,"nodeType":"FunctionDefinition","src":"13368:152:7","nodes":[],"body":{"id":2237,"nodeType":"Block","src":"13462:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2232,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2222,"src":"13491:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2233,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2224,"src":"13497:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2234,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2226,"src":"13504:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2229,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"13472:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14711,"src":"13472:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13472:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2236,"nodeType":"ExpressionStatement","src":"13472:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13377:15:7","parameters":{"id":2227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2222,"mutability":"mutable","name":"left","nameLocation":"13401:4:7","nodeType":"VariableDeclaration","scope":2238,"src":"13393:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2221,"name":"uint256","nodeType":"ElementaryTypeName","src":"13393:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2224,"mutability":"mutable","name":"right","nameLocation":"13415:5:7","nodeType":"VariableDeclaration","scope":2238,"src":"13407:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2223,"name":"uint256","nodeType":"ElementaryTypeName","src":"13407:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2226,"mutability":"mutable","name":"decimals","nameLocation":"13430:8:7","nodeType":"VariableDeclaration","scope":2238,"src":"13422:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2225,"name":"uint256","nodeType":"ElementaryTypeName","src":"13422:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13392:47:7"},"returnParameters":{"id":2228,"nodeType":"ParameterList","parameters":[],"src":"13462:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2259,"nodeType":"FunctionDefinition","src":"13526:176:7","nodes":[],"body":{"id":2258,"nodeType":"Block","src":"13639:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2252,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2240,"src":"13668:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2253,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2242,"src":"13674:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2254,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2244,"src":"13681:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2255,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2246,"src":"13691:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2249,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"13649:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14723,"src":"13649:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13649:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2257,"nodeType":"ExpressionStatement","src":"13649:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13535:15:7","parameters":{"id":2247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2240,"mutability":"mutable","name":"left","nameLocation":"13559:4:7","nodeType":"VariableDeclaration","scope":2259,"src":"13551:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2239,"name":"uint256","nodeType":"ElementaryTypeName","src":"13551:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2242,"mutability":"mutable","name":"right","nameLocation":"13573:5:7","nodeType":"VariableDeclaration","scope":2259,"src":"13565:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2241,"name":"uint256","nodeType":"ElementaryTypeName","src":"13565:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2244,"mutability":"mutable","name":"decimals","nameLocation":"13588:8:7","nodeType":"VariableDeclaration","scope":2259,"src":"13580:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2243,"name":"uint256","nodeType":"ElementaryTypeName","src":"13580:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2246,"mutability":"mutable","name":"err","nameLocation":"13612:3:7","nodeType":"VariableDeclaration","scope":2259,"src":"13598:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2245,"name":"string","nodeType":"ElementaryTypeName","src":"13598:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13550:66:7"},"returnParameters":{"id":2248,"nodeType":"ParameterList","parameters":[],"src":"13639:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2274,"nodeType":"FunctionDefinition","src":"13708:108:7","nodes":[],"body":{"id":2273,"nodeType":"Block","src":"13775:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2269,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2261,"src":"13797:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2270,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2263,"src":"13803:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2266,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"13785:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14771,"src":"13785:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13785:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2272,"nodeType":"ExpressionStatement","src":"13785:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13717:8:7","parameters":{"id":2264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2261,"mutability":"mutable","name":"left","nameLocation":"13733:4:7","nodeType":"VariableDeclaration","scope":2274,"src":"13726:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2260,"name":"int256","nodeType":"ElementaryTypeName","src":"13726:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2263,"mutability":"mutable","name":"right","nameLocation":"13746:5:7","nodeType":"VariableDeclaration","scope":2274,"src":"13739:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2262,"name":"int256","nodeType":"ElementaryTypeName","src":"13739:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13725:27:7"},"returnParameters":{"id":2265,"nodeType":"ParameterList","parameters":[],"src":"13775:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2292,"nodeType":"FunctionDefinition","src":"13822:132:7","nodes":[],"body":{"id":2291,"nodeType":"Block","src":"13908:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2286,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2276,"src":"13930:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2287,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2278,"src":"13936:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2288,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2280,"src":"13943:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2283,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"13918:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14781,"src":"13918:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13918:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2290,"nodeType":"ExpressionStatement","src":"13918:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13831:8:7","parameters":{"id":2281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2276,"mutability":"mutable","name":"left","nameLocation":"13847:4:7","nodeType":"VariableDeclaration","scope":2292,"src":"13840:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2275,"name":"int256","nodeType":"ElementaryTypeName","src":"13840:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2278,"mutability":"mutable","name":"right","nameLocation":"13860:5:7","nodeType":"VariableDeclaration","scope":2292,"src":"13853:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2277,"name":"int256","nodeType":"ElementaryTypeName","src":"13853:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2280,"mutability":"mutable","name":"err","nameLocation":"13881:3:7","nodeType":"VariableDeclaration","scope":2292,"src":"13867:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2279,"name":"string","nodeType":"ElementaryTypeName","src":"13867:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13839:46:7"},"returnParameters":{"id":2282,"nodeType":"ParameterList","parameters":[],"src":"13908:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2310,"nodeType":"FunctionDefinition","src":"13960:150:7","nodes":[],"body":{"id":2309,"nodeType":"Block","src":"14052:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2304,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2294,"src":"14081:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2305,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2296,"src":"14087:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2306,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2298,"src":"14094:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2301,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"14062:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14733,"src":"14062:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14062:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2308,"nodeType":"ExpressionStatement","src":"14062:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13969:15:7","parameters":{"id":2299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2294,"mutability":"mutable","name":"left","nameLocation":"13992:4:7","nodeType":"VariableDeclaration","scope":2310,"src":"13985:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2293,"name":"int256","nodeType":"ElementaryTypeName","src":"13985:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2296,"mutability":"mutable","name":"right","nameLocation":"14005:5:7","nodeType":"VariableDeclaration","scope":2310,"src":"13998:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2295,"name":"int256","nodeType":"ElementaryTypeName","src":"13998:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2298,"mutability":"mutable","name":"decimals","nameLocation":"14020:8:7","nodeType":"VariableDeclaration","scope":2310,"src":"14012:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2297,"name":"uint256","nodeType":"ElementaryTypeName","src":"14012:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13984:45:7"},"returnParameters":{"id":2300,"nodeType":"ParameterList","parameters":[],"src":"14052:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2331,"nodeType":"FunctionDefinition","src":"14116:174:7","nodes":[],"body":{"id":2330,"nodeType":"Block","src":"14227:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2324,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2312,"src":"14256:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2325,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2314,"src":"14262:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2326,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2316,"src":"14269:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2327,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2318,"src":"14279:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2321,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"14237:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14745,"src":"14237:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14237:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2329,"nodeType":"ExpressionStatement","src":"14237:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"14125:15:7","parameters":{"id":2319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2312,"mutability":"mutable","name":"left","nameLocation":"14148:4:7","nodeType":"VariableDeclaration","scope":2331,"src":"14141:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2311,"name":"int256","nodeType":"ElementaryTypeName","src":"14141:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"right","nameLocation":"14161:5:7","nodeType":"VariableDeclaration","scope":2331,"src":"14154:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2313,"name":"int256","nodeType":"ElementaryTypeName","src":"14154:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"decimals","nameLocation":"14176:8:7","nodeType":"VariableDeclaration","scope":2331,"src":"14168:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2315,"name":"uint256","nodeType":"ElementaryTypeName","src":"14168:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"err","nameLocation":"14200:3:7","nodeType":"VariableDeclaration","scope":2331,"src":"14186:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2317,"name":"string","nodeType":"ElementaryTypeName","src":"14186:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14140:64:7"},"returnParameters":{"id":2320,"nodeType":"ParameterList","parameters":[],"src":"14227:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2346,"nodeType":"FunctionDefinition","src":"14296:110:7","nodes":[],"body":{"id":2345,"nodeType":"Block","src":"14365:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2341,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2333,"src":"14387:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2342,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"14393:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2338,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"14375:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14833,"src":"14375:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14375:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2344,"nodeType":"ExpressionStatement","src":"14375:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14305:8:7","parameters":{"id":2336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2333,"mutability":"mutable","name":"left","nameLocation":"14322:4:7","nodeType":"VariableDeclaration","scope":2346,"src":"14314:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2332,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2335,"mutability":"mutable","name":"right","nameLocation":"14336:5:7","nodeType":"VariableDeclaration","scope":2346,"src":"14328:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2334,"name":"uint256","nodeType":"ElementaryTypeName","src":"14328:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:29:7"},"returnParameters":{"id":2337,"nodeType":"ParameterList","parameters":[],"src":"14365:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2364,"nodeType":"FunctionDefinition","src":"14412:134:7","nodes":[],"body":{"id":2363,"nodeType":"Block","src":"14500:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2358,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2348,"src":"14522:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2359,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"14528:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2360,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"14535:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2355,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"14510:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14843,"src":"14510:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14510:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2362,"nodeType":"ExpressionStatement","src":"14510:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14421:8:7","parameters":{"id":2353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2348,"mutability":"mutable","name":"left","nameLocation":"14438:4:7","nodeType":"VariableDeclaration","scope":2364,"src":"14430:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2347,"name":"uint256","nodeType":"ElementaryTypeName","src":"14430:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2350,"mutability":"mutable","name":"right","nameLocation":"14452:5:7","nodeType":"VariableDeclaration","scope":2364,"src":"14444:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2349,"name":"uint256","nodeType":"ElementaryTypeName","src":"14444:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2352,"mutability":"mutable","name":"err","nameLocation":"14473:3:7","nodeType":"VariableDeclaration","scope":2364,"src":"14459:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2351,"name":"string","nodeType":"ElementaryTypeName","src":"14459:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14429:48:7"},"returnParameters":{"id":2354,"nodeType":"ParameterList","parameters":[],"src":"14500:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2382,"nodeType":"FunctionDefinition","src":"14552:152:7","nodes":[],"body":{"id":2381,"nodeType":"Block","src":"14646:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2376,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2366,"src":"14675:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2377,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2368,"src":"14681:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2378,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"14688:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2373,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"14656:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14791,"src":"14656:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14656:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2380,"nodeType":"ExpressionStatement","src":"14656:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14561:15:7","parameters":{"id":2371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2366,"mutability":"mutable","name":"left","nameLocation":"14585:4:7","nodeType":"VariableDeclaration","scope":2382,"src":"14577:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2365,"name":"uint256","nodeType":"ElementaryTypeName","src":"14577:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2368,"mutability":"mutable","name":"right","nameLocation":"14599:5:7","nodeType":"VariableDeclaration","scope":2382,"src":"14591:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"14591:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2370,"mutability":"mutable","name":"decimals","nameLocation":"14614:8:7","nodeType":"VariableDeclaration","scope":2382,"src":"14606:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2369,"name":"uint256","nodeType":"ElementaryTypeName","src":"14606:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14576:47:7"},"returnParameters":{"id":2372,"nodeType":"ParameterList","parameters":[],"src":"14646:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2403,"nodeType":"FunctionDefinition","src":"14710:176:7","nodes":[],"body":{"id":2402,"nodeType":"Block","src":"14823:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2396,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2384,"src":"14852:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2397,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2386,"src":"14858:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2398,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2388,"src":"14865:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2399,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"14875:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2393,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"14833:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14803,"src":"14833:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14833:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2401,"nodeType":"ExpressionStatement","src":"14833:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14719:15:7","parameters":{"id":2391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2384,"mutability":"mutable","name":"left","nameLocation":"14743:4:7","nodeType":"VariableDeclaration","scope":2403,"src":"14735:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2383,"name":"uint256","nodeType":"ElementaryTypeName","src":"14735:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2386,"mutability":"mutable","name":"right","nameLocation":"14757:5:7","nodeType":"VariableDeclaration","scope":2403,"src":"14749:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2385,"name":"uint256","nodeType":"ElementaryTypeName","src":"14749:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2388,"mutability":"mutable","name":"decimals","nameLocation":"14772:8:7","nodeType":"VariableDeclaration","scope":2403,"src":"14764:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2387,"name":"uint256","nodeType":"ElementaryTypeName","src":"14764:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2390,"mutability":"mutable","name":"err","nameLocation":"14796:3:7","nodeType":"VariableDeclaration","scope":2403,"src":"14782:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2389,"name":"string","nodeType":"ElementaryTypeName","src":"14782:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14734:66:7"},"returnParameters":{"id":2392,"nodeType":"ParameterList","parameters":[],"src":"14823:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2418,"nodeType":"FunctionDefinition","src":"14892:108:7","nodes":[],"body":{"id":2417,"nodeType":"Block","src":"14959:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2413,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2405,"src":"14981:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2414,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2407,"src":"14987:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2410,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"14969:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14851,"src":"14969:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14969:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2416,"nodeType":"ExpressionStatement","src":"14969:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14901:8:7","parameters":{"id":2408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2405,"mutability":"mutable","name":"left","nameLocation":"14917:4:7","nodeType":"VariableDeclaration","scope":2418,"src":"14910:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2404,"name":"int256","nodeType":"ElementaryTypeName","src":"14910:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2407,"mutability":"mutable","name":"right","nameLocation":"14930:5:7","nodeType":"VariableDeclaration","scope":2418,"src":"14923:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2406,"name":"int256","nodeType":"ElementaryTypeName","src":"14923:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14909:27:7"},"returnParameters":{"id":2409,"nodeType":"ParameterList","parameters":[],"src":"14959:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2436,"nodeType":"FunctionDefinition","src":"15006:132:7","nodes":[],"body":{"id":2435,"nodeType":"Block","src":"15092:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2430,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2420,"src":"15114:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2431,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2422,"src":"15120:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2432,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2424,"src":"15127:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2427,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"15102:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14861,"src":"15102:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15102:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2434,"nodeType":"ExpressionStatement","src":"15102:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"15015:8:7","parameters":{"id":2425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2420,"mutability":"mutable","name":"left","nameLocation":"15031:4:7","nodeType":"VariableDeclaration","scope":2436,"src":"15024:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2419,"name":"int256","nodeType":"ElementaryTypeName","src":"15024:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2422,"mutability":"mutable","name":"right","nameLocation":"15044:5:7","nodeType":"VariableDeclaration","scope":2436,"src":"15037:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2421,"name":"int256","nodeType":"ElementaryTypeName","src":"15037:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2424,"mutability":"mutable","name":"err","nameLocation":"15065:3:7","nodeType":"VariableDeclaration","scope":2436,"src":"15051:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2423,"name":"string","nodeType":"ElementaryTypeName","src":"15051:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15023:46:7"},"returnParameters":{"id":2426,"nodeType":"ParameterList","parameters":[],"src":"15092:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2454,"nodeType":"FunctionDefinition","src":"15144:150:7","nodes":[],"body":{"id":2453,"nodeType":"Block","src":"15236:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2448,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2438,"src":"15265:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2449,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2440,"src":"15271:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2450,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2442,"src":"15278:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2445,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"15246:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14813,"src":"15246:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15246:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2452,"nodeType":"ExpressionStatement","src":"15246:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15153:15:7","parameters":{"id":2443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2438,"mutability":"mutable","name":"left","nameLocation":"15176:4:7","nodeType":"VariableDeclaration","scope":2454,"src":"15169:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2437,"name":"int256","nodeType":"ElementaryTypeName","src":"15169:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2440,"mutability":"mutable","name":"right","nameLocation":"15189:5:7","nodeType":"VariableDeclaration","scope":2454,"src":"15182:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2439,"name":"int256","nodeType":"ElementaryTypeName","src":"15182:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2442,"mutability":"mutable","name":"decimals","nameLocation":"15204:8:7","nodeType":"VariableDeclaration","scope":2454,"src":"15196:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2441,"name":"uint256","nodeType":"ElementaryTypeName","src":"15196:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15168:45:7"},"returnParameters":{"id":2444,"nodeType":"ParameterList","parameters":[],"src":"15236:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2475,"nodeType":"FunctionDefinition","src":"15300:174:7","nodes":[],"body":{"id":2474,"nodeType":"Block","src":"15411:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2468,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2456,"src":"15440:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2469,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2458,"src":"15446:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2470,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2460,"src":"15453:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2471,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2462,"src":"15463:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2465,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"15421:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14825,"src":"15421:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15421:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2473,"nodeType":"ExpressionStatement","src":"15421:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15309:15:7","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2456,"mutability":"mutable","name":"left","nameLocation":"15332:4:7","nodeType":"VariableDeclaration","scope":2475,"src":"15325:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2455,"name":"int256","nodeType":"ElementaryTypeName","src":"15325:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2458,"mutability":"mutable","name":"right","nameLocation":"15345:5:7","nodeType":"VariableDeclaration","scope":2475,"src":"15338:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2457,"name":"int256","nodeType":"ElementaryTypeName","src":"15338:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2460,"mutability":"mutable","name":"decimals","nameLocation":"15360:8:7","nodeType":"VariableDeclaration","scope":2475,"src":"15352:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"15352:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"err","nameLocation":"15384:3:7","nodeType":"VariableDeclaration","scope":2475,"src":"15370:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2461,"name":"string","nodeType":"ElementaryTypeName","src":"15370:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15324:64:7"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"15411:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2490,"nodeType":"FunctionDefinition","src":"15480:110:7","nodes":[],"body":{"id":2489,"nodeType":"Block","src":"15549:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2485,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2477,"src":"15571:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2486,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2479,"src":"15577:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2482,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"15559:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14673,"src":"15559:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15559:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2488,"nodeType":"ExpressionStatement","src":"15559:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15489:8:7","parameters":{"id":2480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2477,"mutability":"mutable","name":"left","nameLocation":"15506:4:7","nodeType":"VariableDeclaration","scope":2490,"src":"15498:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2476,"name":"uint256","nodeType":"ElementaryTypeName","src":"15498:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2479,"mutability":"mutable","name":"right","nameLocation":"15520:5:7","nodeType":"VariableDeclaration","scope":2490,"src":"15512:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2478,"name":"uint256","nodeType":"ElementaryTypeName","src":"15512:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15497:29:7"},"returnParameters":{"id":2481,"nodeType":"ParameterList","parameters":[],"src":"15549:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2508,"nodeType":"FunctionDefinition","src":"15596:134:7","nodes":[],"body":{"id":2507,"nodeType":"Block","src":"15684:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2502,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2492,"src":"15706:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2503,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2494,"src":"15712:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2504,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2496,"src":"15719:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2499,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"15694:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14683,"src":"15694:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15694:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2506,"nodeType":"ExpressionStatement","src":"15694:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15605:8:7","parameters":{"id":2497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2492,"mutability":"mutable","name":"left","nameLocation":"15622:4:7","nodeType":"VariableDeclaration","scope":2508,"src":"15614:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2491,"name":"uint256","nodeType":"ElementaryTypeName","src":"15614:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2494,"mutability":"mutable","name":"right","nameLocation":"15636:5:7","nodeType":"VariableDeclaration","scope":2508,"src":"15628:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2493,"name":"uint256","nodeType":"ElementaryTypeName","src":"15628:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2496,"mutability":"mutable","name":"err","nameLocation":"15657:3:7","nodeType":"VariableDeclaration","scope":2508,"src":"15643:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2495,"name":"string","nodeType":"ElementaryTypeName","src":"15643:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15613:48:7"},"returnParameters":{"id":2498,"nodeType":"ParameterList","parameters":[],"src":"15684:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2526,"nodeType":"FunctionDefinition","src":"15736:152:7","nodes":[],"body":{"id":2525,"nodeType":"Block","src":"15830:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2520,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2510,"src":"15859:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2521,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2512,"src":"15865:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2522,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"src":"15872:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2517,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"15840:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14631,"src":"15840:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15840:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2524,"nodeType":"ExpressionStatement","src":"15840:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15745:15:7","parameters":{"id":2515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2510,"mutability":"mutable","name":"left","nameLocation":"15769:4:7","nodeType":"VariableDeclaration","scope":2526,"src":"15761:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2509,"name":"uint256","nodeType":"ElementaryTypeName","src":"15761:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2512,"mutability":"mutable","name":"right","nameLocation":"15783:5:7","nodeType":"VariableDeclaration","scope":2526,"src":"15775:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2511,"name":"uint256","nodeType":"ElementaryTypeName","src":"15775:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2514,"mutability":"mutable","name":"decimals","nameLocation":"15798:8:7","nodeType":"VariableDeclaration","scope":2526,"src":"15790:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2513,"name":"uint256","nodeType":"ElementaryTypeName","src":"15790:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15760:47:7"},"returnParameters":{"id":2516,"nodeType":"ParameterList","parameters":[],"src":"15830:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2547,"nodeType":"FunctionDefinition","src":"15894:176:7","nodes":[],"body":{"id":2546,"nodeType":"Block","src":"16007:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2540,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2528,"src":"16036:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2541,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2530,"src":"16042:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2542,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2532,"src":"16049:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2543,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2534,"src":"16059:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2537,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"16017:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14643,"src":"16017:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16017:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2545,"nodeType":"ExpressionStatement","src":"16017:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15903:15:7","parameters":{"id":2535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2528,"mutability":"mutable","name":"left","nameLocation":"15927:4:7","nodeType":"VariableDeclaration","scope":2547,"src":"15919:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2527,"name":"uint256","nodeType":"ElementaryTypeName","src":"15919:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"right","nameLocation":"15941:5:7","nodeType":"VariableDeclaration","scope":2547,"src":"15933:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2529,"name":"uint256","nodeType":"ElementaryTypeName","src":"15933:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2532,"mutability":"mutable","name":"decimals","nameLocation":"15956:8:7","nodeType":"VariableDeclaration","scope":2547,"src":"15948:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2531,"name":"uint256","nodeType":"ElementaryTypeName","src":"15948:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2534,"mutability":"mutable","name":"err","nameLocation":"15980:3:7","nodeType":"VariableDeclaration","scope":2547,"src":"15966:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2533,"name":"string","nodeType":"ElementaryTypeName","src":"15966:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15918:66:7"},"returnParameters":{"id":2536,"nodeType":"ParameterList","parameters":[],"src":"16007:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2562,"nodeType":"FunctionDefinition","src":"16076:108:7","nodes":[],"body":{"id":2561,"nodeType":"Block","src":"16143:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2557,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2549,"src":"16165:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2558,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"16171:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2554,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"16153:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14691,"src":"16153:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16153:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2560,"nodeType":"ExpressionStatement","src":"16153:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16085:8:7","parameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2549,"mutability":"mutable","name":"left","nameLocation":"16101:4:7","nodeType":"VariableDeclaration","scope":2562,"src":"16094:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2548,"name":"int256","nodeType":"ElementaryTypeName","src":"16094:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2551,"mutability":"mutable","name":"right","nameLocation":"16114:5:7","nodeType":"VariableDeclaration","scope":2562,"src":"16107:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2550,"name":"int256","nodeType":"ElementaryTypeName","src":"16107:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16093:27:7"},"returnParameters":{"id":2553,"nodeType":"ParameterList","parameters":[],"src":"16143:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2580,"nodeType":"FunctionDefinition","src":"16190:132:7","nodes":[],"body":{"id":2579,"nodeType":"Block","src":"16276:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2574,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2564,"src":"16298:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2575,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2566,"src":"16304:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2576,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2568,"src":"16311:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2571,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"16286:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14701,"src":"16286:11:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16286:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2578,"nodeType":"ExpressionStatement","src":"16286:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16199:8:7","parameters":{"id":2569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"left","nameLocation":"16215:4:7","nodeType":"VariableDeclaration","scope":2580,"src":"16208:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2563,"name":"int256","nodeType":"ElementaryTypeName","src":"16208:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2566,"mutability":"mutable","name":"right","nameLocation":"16228:5:7","nodeType":"VariableDeclaration","scope":2580,"src":"16221:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2565,"name":"int256","nodeType":"ElementaryTypeName","src":"16221:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2568,"mutability":"mutable","name":"err","nameLocation":"16249:3:7","nodeType":"VariableDeclaration","scope":2580,"src":"16235:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2567,"name":"string","nodeType":"ElementaryTypeName","src":"16235:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16207:46:7"},"returnParameters":{"id":2570,"nodeType":"ParameterList","parameters":[],"src":"16276:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2598,"nodeType":"FunctionDefinition","src":"16328:150:7","nodes":[],"body":{"id":2597,"nodeType":"Block","src":"16420:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2592,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2582,"src":"16449:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2593,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2584,"src":"16455:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2594,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"16462:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2589,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"16430:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14653,"src":"16430:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16430:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2596,"nodeType":"ExpressionStatement","src":"16430:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16337:15:7","parameters":{"id":2587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2582,"mutability":"mutable","name":"left","nameLocation":"16360:4:7","nodeType":"VariableDeclaration","scope":2598,"src":"16353:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2581,"name":"int256","nodeType":"ElementaryTypeName","src":"16353:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2584,"mutability":"mutable","name":"right","nameLocation":"16373:5:7","nodeType":"VariableDeclaration","scope":2598,"src":"16366:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2583,"name":"int256","nodeType":"ElementaryTypeName","src":"16366:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2586,"mutability":"mutable","name":"decimals","nameLocation":"16388:8:7","nodeType":"VariableDeclaration","scope":2598,"src":"16380:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2585,"name":"uint256","nodeType":"ElementaryTypeName","src":"16380:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16352:45:7"},"returnParameters":{"id":2588,"nodeType":"ParameterList","parameters":[],"src":"16420:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2619,"nodeType":"FunctionDefinition","src":"16484:174:7","nodes":[],"body":{"id":2618,"nodeType":"Block","src":"16595:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2612,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2600,"src":"16624:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2613,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2602,"src":"16630:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2614,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2604,"src":"16637:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2615,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2606,"src":"16647:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2609,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"16605:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14665,"src":"16605:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16605:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2617,"nodeType":"ExpressionStatement","src":"16605:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16493:15:7","parameters":{"id":2607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2600,"mutability":"mutable","name":"left","nameLocation":"16516:4:7","nodeType":"VariableDeclaration","scope":2619,"src":"16509:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2599,"name":"int256","nodeType":"ElementaryTypeName","src":"16509:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2602,"mutability":"mutable","name":"right","nameLocation":"16529:5:7","nodeType":"VariableDeclaration","scope":2619,"src":"16522:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2601,"name":"int256","nodeType":"ElementaryTypeName","src":"16522:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2604,"mutability":"mutable","name":"decimals","nameLocation":"16544:8:7","nodeType":"VariableDeclaration","scope":2619,"src":"16536:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2603,"name":"uint256","nodeType":"ElementaryTypeName","src":"16536:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2606,"mutability":"mutable","name":"err","nameLocation":"16568:3:7","nodeType":"VariableDeclaration","scope":2619,"src":"16554:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2605,"name":"string","nodeType":"ElementaryTypeName","src":"16554:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16508:64:7"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[],"src":"16595:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2637,"nodeType":"FunctionDefinition","src":"16664:156:7","nodes":[],"body":{"id":2636,"nodeType":"Block","src":"16760:60:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2631,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2621,"src":"16791:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2632,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2623,"src":"16797:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2633,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2625,"src":"16804:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2628,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"16770:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":14153,"src":"16770:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16770:43:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2635,"nodeType":"ExpressionStatement","src":"16770:43:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16673:17:7","parameters":{"id":2626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2621,"mutability":"mutable","name":"left","nameLocation":"16699:4:7","nodeType":"VariableDeclaration","scope":2637,"src":"16691:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2620,"name":"uint256","nodeType":"ElementaryTypeName","src":"16691:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2623,"mutability":"mutable","name":"right","nameLocation":"16713:5:7","nodeType":"VariableDeclaration","scope":2637,"src":"16705:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2622,"name":"uint256","nodeType":"ElementaryTypeName","src":"16705:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2625,"mutability":"mutable","name":"maxDelta","nameLocation":"16728:8:7","nodeType":"VariableDeclaration","scope":2637,"src":"16720:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2624,"name":"uint256","nodeType":"ElementaryTypeName","src":"16720:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16690:47:7"},"returnParameters":{"id":2627,"nodeType":"ParameterList","parameters":[],"src":"16760:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2658,"nodeType":"FunctionDefinition","src":"16826:208:7","nodes":[],"body":{"id":2657,"nodeType":"Block","src":"16969:65:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2651,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2639,"src":"17000:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2652,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2641,"src":"17006:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2653,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2643,"src":"17013:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2654,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"17023:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2648,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"16979:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":14165,"src":"16979:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16979:48:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2656,"nodeType":"ExpressionStatement","src":"16979:48:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16835:17:7","parameters":{"id":2646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2639,"mutability":"mutable","name":"left","nameLocation":"16861:4:7","nodeType":"VariableDeclaration","scope":2658,"src":"16853:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2638,"name":"uint256","nodeType":"ElementaryTypeName","src":"16853:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2641,"mutability":"mutable","name":"right","nameLocation":"16875:5:7","nodeType":"VariableDeclaration","scope":2658,"src":"16867:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2640,"name":"uint256","nodeType":"ElementaryTypeName","src":"16867:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2643,"mutability":"mutable","name":"maxDelta","nameLocation":"16890:8:7","nodeType":"VariableDeclaration","scope":2658,"src":"16882:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2642,"name":"uint256","nodeType":"ElementaryTypeName","src":"16882:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2645,"mutability":"mutable","name":"err","nameLocation":"16914:3:7","nodeType":"VariableDeclaration","scope":2658,"src":"16900:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2644,"name":"string","nodeType":"ElementaryTypeName","src":"16900:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16852:66:7"},"returnParameters":{"id":2647,"nodeType":"ParameterList","parameters":[],"src":"16969:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2679,"nodeType":"FunctionDefinition","src":"17040:226:7","nodes":[],"body":{"id":2678,"nodeType":"Block","src":"17189:77:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2672,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2660,"src":"17227:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2673,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"17233:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2674,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2664,"src":"17240:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2675,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"17250:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2669,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"17199:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":14103,"src":"17199:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17199:60:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2677,"nodeType":"ExpressionStatement","src":"17199:60:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17049:24:7","parameters":{"id":2667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2660,"mutability":"mutable","name":"left","nameLocation":"17082:4:7","nodeType":"VariableDeclaration","scope":2679,"src":"17074:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2659,"name":"uint256","nodeType":"ElementaryTypeName","src":"17074:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2662,"mutability":"mutable","name":"right","nameLocation":"17096:5:7","nodeType":"VariableDeclaration","scope":2679,"src":"17088:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2661,"name":"uint256","nodeType":"ElementaryTypeName","src":"17088:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2664,"mutability":"mutable","name":"maxDelta","nameLocation":"17111:8:7","nodeType":"VariableDeclaration","scope":2679,"src":"17103:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2663,"name":"uint256","nodeType":"ElementaryTypeName","src":"17103:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2666,"mutability":"mutable","name":"decimals","nameLocation":"17129:8:7","nodeType":"VariableDeclaration","scope":2679,"src":"17121:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2665,"name":"uint256","nodeType":"ElementaryTypeName","src":"17121:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17073:65:7"},"returnParameters":{"id":2668,"nodeType":"ParameterList","parameters":[],"src":"17189:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2703,"nodeType":"FunctionDefinition","src":"17272:268:7","nodes":[],"body":{"id":2702,"nodeType":"Block","src":"17458:82:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2695,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2681,"src":"17496:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2696,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2683,"src":"17502:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2697,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2685,"src":"17509:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2698,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2687,"src":"17519:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2699,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2689,"src":"17529:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2692,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"17468:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":14117,"src":"17468:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,string memory) pure external"}},"id":2700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17468:65:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2701,"nodeType":"ExpressionStatement","src":"17468:65:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17281:24:7","parameters":{"id":2690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2681,"mutability":"mutable","name":"left","nameLocation":"17323:4:7","nodeType":"VariableDeclaration","scope":2703,"src":"17315:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2680,"name":"uint256","nodeType":"ElementaryTypeName","src":"17315:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2683,"mutability":"mutable","name":"right","nameLocation":"17345:5:7","nodeType":"VariableDeclaration","scope":2703,"src":"17337:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2682,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2685,"mutability":"mutable","name":"maxDelta","nameLocation":"17368:8:7","nodeType":"VariableDeclaration","scope":2703,"src":"17360:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2684,"name":"uint256","nodeType":"ElementaryTypeName","src":"17360:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2687,"mutability":"mutable","name":"decimals","nameLocation":"17394:8:7","nodeType":"VariableDeclaration","scope":2703,"src":"17386:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2686,"name":"uint256","nodeType":"ElementaryTypeName","src":"17386:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2689,"mutability":"mutable","name":"err","nameLocation":"17426:3:7","nodeType":"VariableDeclaration","scope":2703,"src":"17412:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2688,"name":"string","nodeType":"ElementaryTypeName","src":"17412:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17305:130:7"},"returnParameters":{"id":2691,"nodeType":"ParameterList","parameters":[],"src":"17458:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2721,"nodeType":"FunctionDefinition","src":"17546:154:7","nodes":[],"body":{"id":2720,"nodeType":"Block","src":"17640:60:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2715,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2705,"src":"17671:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2716,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2707,"src":"17677:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2717,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2709,"src":"17684:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2712,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"17650:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":14175,"src":"17650:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17650:43:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2719,"nodeType":"ExpressionStatement","src":"17650:43:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17555:17:7","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2705,"mutability":"mutable","name":"left","nameLocation":"17580:4:7","nodeType":"VariableDeclaration","scope":2721,"src":"17573:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2704,"name":"int256","nodeType":"ElementaryTypeName","src":"17573:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2707,"mutability":"mutable","name":"right","nameLocation":"17593:5:7","nodeType":"VariableDeclaration","scope":2721,"src":"17586:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2706,"name":"int256","nodeType":"ElementaryTypeName","src":"17586:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"maxDelta","nameLocation":"17608:8:7","nodeType":"VariableDeclaration","scope":2721,"src":"17600:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2708,"name":"uint256","nodeType":"ElementaryTypeName","src":"17600:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17572:45:7"},"returnParameters":{"id":2711,"nodeType":"ParameterList","parameters":[],"src":"17640:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2742,"nodeType":"FunctionDefinition","src":"17706:178:7","nodes":[],"body":{"id":2741,"nodeType":"Block","src":"17819:65:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2735,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2723,"src":"17850:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2736,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2725,"src":"17856:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2737,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2727,"src":"17863:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2738,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2729,"src":"17873:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2732,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"17829:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":14187,"src":"17829:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17829:48:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2740,"nodeType":"ExpressionStatement","src":"17829:48:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17715:17:7","parameters":{"id":2730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2723,"mutability":"mutable","name":"left","nameLocation":"17740:4:7","nodeType":"VariableDeclaration","scope":2742,"src":"17733:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2722,"name":"int256","nodeType":"ElementaryTypeName","src":"17733:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2725,"mutability":"mutable","name":"right","nameLocation":"17753:5:7","nodeType":"VariableDeclaration","scope":2742,"src":"17746:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2724,"name":"int256","nodeType":"ElementaryTypeName","src":"17746:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2727,"mutability":"mutable","name":"maxDelta","nameLocation":"17768:8:7","nodeType":"VariableDeclaration","scope":2742,"src":"17760:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"17760:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"err","nameLocation":"17792:3:7","nodeType":"VariableDeclaration","scope":2742,"src":"17778:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"17778:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17732:64:7"},"returnParameters":{"id":2731,"nodeType":"ParameterList","parameters":[],"src":"17819:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2763,"nodeType":"FunctionDefinition","src":"17890:224:7","nodes":[],"body":{"id":2762,"nodeType":"Block","src":"18037:77:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2756,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"18075:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2757,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2746,"src":"18081:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2758,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2748,"src":"18088:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2759,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2750,"src":"18098:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2753,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"18047:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":14129,"src":"18047:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18047:60:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2761,"nodeType":"ExpressionStatement","src":"18047:60:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17899:24:7","parameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2744,"mutability":"mutable","name":"left","nameLocation":"17931:4:7","nodeType":"VariableDeclaration","scope":2763,"src":"17924:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2743,"name":"int256","nodeType":"ElementaryTypeName","src":"17924:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2746,"mutability":"mutable","name":"right","nameLocation":"17944:5:7","nodeType":"VariableDeclaration","scope":2763,"src":"17937:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2745,"name":"int256","nodeType":"ElementaryTypeName","src":"17937:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2748,"mutability":"mutable","name":"maxDelta","nameLocation":"17959:8:7","nodeType":"VariableDeclaration","scope":2763,"src":"17951:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2747,"name":"uint256","nodeType":"ElementaryTypeName","src":"17951:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2750,"mutability":"mutable","name":"decimals","nameLocation":"17977:8:7","nodeType":"VariableDeclaration","scope":2763,"src":"17969:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2749,"name":"uint256","nodeType":"ElementaryTypeName","src":"17969:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17923:63:7"},"returnParameters":{"id":2752,"nodeType":"ParameterList","parameters":[],"src":"18037:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2787,"nodeType":"FunctionDefinition","src":"18120:248:7","nodes":[],"body":{"id":2786,"nodeType":"Block","src":"18286:82:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2779,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2765,"src":"18324:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2780,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2767,"src":"18330:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2781,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2769,"src":"18337:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2782,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2771,"src":"18347:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2783,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2773,"src":"18357:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2776,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"18296:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":14143,"src":"18296:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,uint256,string memory) pure external"}},"id":2784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18296:65:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2785,"nodeType":"ExpressionStatement","src":"18296:65:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"18129:24:7","parameters":{"id":2774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2765,"mutability":"mutable","name":"left","nameLocation":"18161:4:7","nodeType":"VariableDeclaration","scope":2787,"src":"18154:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2764,"name":"int256","nodeType":"ElementaryTypeName","src":"18154:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2767,"mutability":"mutable","name":"right","nameLocation":"18174:5:7","nodeType":"VariableDeclaration","scope":2787,"src":"18167:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2766,"name":"int256","nodeType":"ElementaryTypeName","src":"18167:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2769,"mutability":"mutable","name":"maxDelta","nameLocation":"18189:8:7","nodeType":"VariableDeclaration","scope":2787,"src":"18181:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2768,"name":"uint256","nodeType":"ElementaryTypeName","src":"18181:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2771,"mutability":"mutable","name":"decimals","nameLocation":"18207:8:7","nodeType":"VariableDeclaration","scope":2787,"src":"18199:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2770,"name":"uint256","nodeType":"ElementaryTypeName","src":"18199:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2773,"mutability":"mutable","name":"err","nameLocation":"18231:3:7","nodeType":"VariableDeclaration","scope":2787,"src":"18217:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2772,"name":"string","nodeType":"ElementaryTypeName","src":"18217:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18153:82:7"},"returnParameters":{"id":2775,"nodeType":"ParameterList","parameters":[],"src":"18286:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2805,"nodeType":"FunctionDefinition","src":"18374:256:7","nodes":[],"body":{"id":2804,"nodeType":"Block","src":"18563:67:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2799,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2789,"src":"18594:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2800,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2791,"src":"18600:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2801,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2793,"src":"18607:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2796,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"18573:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":14249,"src":"18573:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18573:50:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2803,"nodeType":"ExpressionStatement","src":"18573:50:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18383:17:7","parameters":{"id":2794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2789,"mutability":"mutable","name":"left","nameLocation":"18418:4:7","nodeType":"VariableDeclaration","scope":2805,"src":"18410:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2788,"name":"uint256","nodeType":"ElementaryTypeName","src":"18410:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2791,"mutability":"mutable","name":"right","nameLocation":"18440:5:7","nodeType":"VariableDeclaration","scope":2805,"src":"18432:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2790,"name":"uint256","nodeType":"ElementaryTypeName","src":"18432:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2793,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18463:15:7","nodeType":"VariableDeclaration","scope":2805,"src":"18455:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2792,"name":"uint256","nodeType":"ElementaryTypeName","src":"18455:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18400:140:7"},"returnParameters":{"id":2795,"nodeType":"ParameterList","parameters":[],"src":"18563:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2826,"nodeType":"FunctionDefinition","src":"18636:288:7","nodes":[],"body":{"id":2825,"nodeType":"Block","src":"18852:72:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2819,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2807,"src":"18883:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2820,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2809,"src":"18889:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2821,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2811,"src":"18896:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2822,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2813,"src":"18913:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"18862:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":14261,"src":"18862:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18862:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2824,"nodeType":"ExpressionStatement","src":"18862:55:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18645:17:7","parameters":{"id":2814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2807,"mutability":"mutable","name":"left","nameLocation":"18680:4:7","nodeType":"VariableDeclaration","scope":2826,"src":"18672:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2806,"name":"uint256","nodeType":"ElementaryTypeName","src":"18672:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2809,"mutability":"mutable","name":"right","nameLocation":"18702:5:7","nodeType":"VariableDeclaration","scope":2826,"src":"18694:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2808,"name":"uint256","nodeType":"ElementaryTypeName","src":"18694:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2811,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18725:15:7","nodeType":"VariableDeclaration","scope":2826,"src":"18717:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2810,"name":"uint256","nodeType":"ElementaryTypeName","src":"18717:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2813,"mutability":"mutable","name":"err","nameLocation":"18820:3:7","nodeType":"VariableDeclaration","scope":2826,"src":"18806:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2812,"name":"string","nodeType":"ElementaryTypeName","src":"18806:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18662:167:7"},"returnParameters":{"id":2815,"nodeType":"ParameterList","parameters":[],"src":"18852:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2847,"nodeType":"FunctionDefinition","src":"18930:306:7","nodes":[],"body":{"id":2846,"nodeType":"Block","src":"19152:84:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2840,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2828,"src":"19190:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2841,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2830,"src":"19196:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2842,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2832,"src":"19203:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2843,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2834,"src":"19220:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2837,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"19162:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":14199,"src":"19162:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19162:67:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2845,"nodeType":"ExpressionStatement","src":"19162:67:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"18939:24:7","parameters":{"id":2835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2828,"mutability":"mutable","name":"left","nameLocation":"18981:4:7","nodeType":"VariableDeclaration","scope":2847,"src":"18973:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2827,"name":"uint256","nodeType":"ElementaryTypeName","src":"18973:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2830,"mutability":"mutable","name":"right","nameLocation":"19003:5:7","nodeType":"VariableDeclaration","scope":2847,"src":"18995:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2829,"name":"uint256","nodeType":"ElementaryTypeName","src":"18995:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2832,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19026:15:7","nodeType":"VariableDeclaration","scope":2847,"src":"19018:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2831,"name":"uint256","nodeType":"ElementaryTypeName","src":"19018:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2834,"mutability":"mutable","name":"decimals","nameLocation":"19115:8:7","nodeType":"VariableDeclaration","scope":2847,"src":"19107:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2833,"name":"uint256","nodeType":"ElementaryTypeName","src":"19107:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:166:7"},"returnParameters":{"id":2836,"nodeType":"ParameterList","parameters":[],"src":"19152:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2871,"nodeType":"FunctionDefinition","src":"19242:338:7","nodes":[],"body":{"id":2870,"nodeType":"Block","src":"19491:89:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2863,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2849,"src":"19529:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2864,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2851,"src":"19535:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2865,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2853,"src":"19542:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2866,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2855,"src":"19559:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2867,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2857,"src":"19569:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2860,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"19501:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":14213,"src":"19501:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,string memory) pure external"}},"id":2868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19501:72:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2869,"nodeType":"ExpressionStatement","src":"19501:72:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"19251:24:7","parameters":{"id":2858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2849,"mutability":"mutable","name":"left","nameLocation":"19293:4:7","nodeType":"VariableDeclaration","scope":2871,"src":"19285:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2848,"name":"uint256","nodeType":"ElementaryTypeName","src":"19285:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2851,"mutability":"mutable","name":"right","nameLocation":"19315:5:7","nodeType":"VariableDeclaration","scope":2871,"src":"19307:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2850,"name":"uint256","nodeType":"ElementaryTypeName","src":"19307:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2853,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19338:15:7","nodeType":"VariableDeclaration","scope":2871,"src":"19330:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2852,"name":"uint256","nodeType":"ElementaryTypeName","src":"19330:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2855,"mutability":"mutable","name":"decimals","nameLocation":"19427:8:7","nodeType":"VariableDeclaration","scope":2871,"src":"19419:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2854,"name":"uint256","nodeType":"ElementaryTypeName","src":"19419:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2857,"mutability":"mutable","name":"err","nameLocation":"19459:3:7","nodeType":"VariableDeclaration","scope":2871,"src":"19445:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2856,"name":"string","nodeType":"ElementaryTypeName","src":"19445:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19275:193:7"},"returnParameters":{"id":2859,"nodeType":"ParameterList","parameters":[],"src":"19491:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2889,"nodeType":"FunctionDefinition","src":"19586:168:7","nodes":[],"body":{"id":2888,"nodeType":"Block","src":"19687:67:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2883,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2873,"src":"19718:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2884,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2875,"src":"19724:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2885,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2877,"src":"19731:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2880,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"19697:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":14271,"src":"19697:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19697:50:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2887,"nodeType":"ExpressionStatement","src":"19697:50:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19595:17:7","parameters":{"id":2878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2873,"mutability":"mutable","name":"left","nameLocation":"19620:4:7","nodeType":"VariableDeclaration","scope":2889,"src":"19613:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2872,"name":"int256","nodeType":"ElementaryTypeName","src":"19613:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2875,"mutability":"mutable","name":"right","nameLocation":"19633:5:7","nodeType":"VariableDeclaration","scope":2889,"src":"19626:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2874,"name":"int256","nodeType":"ElementaryTypeName","src":"19626:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2877,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19648:15:7","nodeType":"VariableDeclaration","scope":2889,"src":"19640:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2876,"name":"uint256","nodeType":"ElementaryTypeName","src":"19640:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19612:52:7"},"returnParameters":{"id":2879,"nodeType":"ParameterList","parameters":[],"src":"19687:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2910,"nodeType":"FunctionDefinition","src":"19760:286:7","nodes":[],"body":{"id":2909,"nodeType":"Block","src":"19974:72:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2903,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"20005:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2904,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2893,"src":"20011:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2905,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2895,"src":"20018:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2906,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2897,"src":"20035:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2900,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"19984:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":14283,"src":"19984:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19984:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2908,"nodeType":"ExpressionStatement","src":"19984:55:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19769:17:7","parameters":{"id":2898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2891,"mutability":"mutable","name":"left","nameLocation":"19803:4:7","nodeType":"VariableDeclaration","scope":2910,"src":"19796:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2890,"name":"int256","nodeType":"ElementaryTypeName","src":"19796:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2893,"mutability":"mutable","name":"right","nameLocation":"19824:5:7","nodeType":"VariableDeclaration","scope":2910,"src":"19817:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2892,"name":"int256","nodeType":"ElementaryTypeName","src":"19817:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2895,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19847:15:7","nodeType":"VariableDeclaration","scope":2910,"src":"19839:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2894,"name":"uint256","nodeType":"ElementaryTypeName","src":"19839:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2897,"mutability":"mutable","name":"err","nameLocation":"19942:3:7","nodeType":"VariableDeclaration","scope":2910,"src":"19928:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2896,"name":"string","nodeType":"ElementaryTypeName","src":"19928:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19786:165:7"},"returnParameters":{"id":2899,"nodeType":"ParameterList","parameters":[],"src":"19974:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2931,"nodeType":"FunctionDefinition","src":"20052:304:7","nodes":[],"body":{"id":2930,"nodeType":"Block","src":"20272:84:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2924,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2912,"src":"20310:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2925,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2914,"src":"20316:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2926,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2916,"src":"20323:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2927,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2918,"src":"20340:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2921,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"20282:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":14225,"src":"20282:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20282:67:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2929,"nodeType":"ExpressionStatement","src":"20282:67:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20061:24:7","parameters":{"id":2919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2912,"mutability":"mutable","name":"left","nameLocation":"20102:4:7","nodeType":"VariableDeclaration","scope":2931,"src":"20095:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2911,"name":"int256","nodeType":"ElementaryTypeName","src":"20095:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2914,"mutability":"mutable","name":"right","nameLocation":"20123:5:7","nodeType":"VariableDeclaration","scope":2931,"src":"20116:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2913,"name":"int256","nodeType":"ElementaryTypeName","src":"20116:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2916,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20146:15:7","nodeType":"VariableDeclaration","scope":2931,"src":"20138:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2915,"name":"uint256","nodeType":"ElementaryTypeName","src":"20138:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2918,"mutability":"mutable","name":"decimals","nameLocation":"20235:8:7","nodeType":"VariableDeclaration","scope":2931,"src":"20227:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2917,"name":"uint256","nodeType":"ElementaryTypeName","src":"20227:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20085:164:7"},"returnParameters":{"id":2920,"nodeType":"ParameterList","parameters":[],"src":"20272:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2955,"nodeType":"FunctionDefinition","src":"20362:336:7","nodes":[],"body":{"id":2954,"nodeType":"Block","src":"20609:89:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2947,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"20647:4:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2948,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"20653:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2949,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2937,"src":"20660:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2950,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2939,"src":"20677:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2951,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2941,"src":"20687:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"20619:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":2946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":14239,"src":"20619:27:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,uint256,string memory) pure external"}},"id":2952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20619:72:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2953,"nodeType":"ExpressionStatement","src":"20619:72:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20371:24:7","parameters":{"id":2942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2933,"mutability":"mutable","name":"left","nameLocation":"20412:4:7","nodeType":"VariableDeclaration","scope":2955,"src":"20405:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2932,"name":"int256","nodeType":"ElementaryTypeName","src":"20405:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2935,"mutability":"mutable","name":"right","nameLocation":"20433:5:7","nodeType":"VariableDeclaration","scope":2955,"src":"20426:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2934,"name":"int256","nodeType":"ElementaryTypeName","src":"20426:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2937,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20456:15:7","nodeType":"VariableDeclaration","scope":2955,"src":"20448:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2936,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2939,"mutability":"mutable","name":"decimals","nameLocation":"20545:8:7","nodeType":"VariableDeclaration","scope":2955,"src":"20537:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2938,"name":"uint256","nodeType":"ElementaryTypeName","src":"20537:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2941,"mutability":"mutable","name":"err","nameLocation":"20577:3:7","nodeType":"VariableDeclaration","scope":2955,"src":"20563:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2940,"name":"string","nodeType":"ElementaryTypeName","src":"20563:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20395:191:7"},"returnParameters":{"id":2943,"nodeType":"ParameterList","parameters":[],"src":"20609:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2973,"nodeType":"FunctionDefinition","src":"20780:145:7","nodes":[],"body":{"id":2972,"nodeType":"Block","src":"20866:59:7","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2965,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2957,"src":"20893:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2964,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20883:9:7","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20883:15:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":2968,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2959,"src":"20912:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2967,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20902:9:7","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20902:16:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"20883:35:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2963,"id":2971,"nodeType":"Return","src":"20876:42:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"20789:8:7","parameters":{"id":2960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2957,"mutability":"mutable","name":"left","nameLocation":"20811:4:7","nodeType":"VariableDeclaration","scope":2973,"src":"20798:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2956,"name":"bytes","nodeType":"ElementaryTypeName","src":"20798:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2959,"mutability":"mutable","name":"right","nameLocation":"20830:5:7","nodeType":"VariableDeclaration","scope":2973,"src":"20817:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2958,"name":"bytes","nodeType":"ElementaryTypeName","src":"20817:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20797:39:7"},"returnParameters":{"id":2963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2973,"src":"20860:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2961,"name":"bool","nodeType":"ElementaryTypeName","src":"20860:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20859:6:7"},"scope":3202,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2986,"nodeType":"FunctionDefinition","src":"20931:118:7","nodes":[],"body":{"id":2985,"nodeType":"Block","src":"21011:38:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2981,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2975,"src":"21030:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2982,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2977,"src":"21036:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2980,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[851,869,884,902,956,974,1028,1046,1061,1079,1123,1141,1156,1174,1191,1211,1228,1248,1265,1285,1302,1322,1339,1359,1376,1396,1413,1433],"referencedDeclaration":1156,"src":"21021:8:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21021:21:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2984,"nodeType":"ExpressionStatement","src":"21021:21:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"20940:9:7","parameters":{"id":2978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2975,"mutability":"mutable","name":"left","nameLocation":"20963:4:7","nodeType":"VariableDeclaration","scope":2986,"src":"20950:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2974,"name":"bytes","nodeType":"ElementaryTypeName","src":"20950:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2977,"mutability":"mutable","name":"right","nameLocation":"20982:5:7","nodeType":"VariableDeclaration","scope":2986,"src":"20969:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2976,"name":"bytes","nodeType":"ElementaryTypeName","src":"20969:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20949:39:7"},"returnParameters":{"id":2979,"nodeType":"ParameterList","parameters":[],"src":"21011:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3002,"nodeType":"FunctionDefinition","src":"21055:142:7","nodes":[],"body":{"id":3001,"nodeType":"Block","src":"21154:43:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":2996,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2988,"src":"21173:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2997,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2990,"src":"21179:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2998,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2992,"src":"21186:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2995,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[851,869,884,902,956,974,1028,1046,1061,1079,1123,1141,1156,1174,1191,1211,1228,1248,1265,1285,1302,1322,1339,1359,1376,1396,1413,1433],"referencedDeclaration":1174,"src":"21164:8:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":2999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21164:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3000,"nodeType":"ExpressionStatement","src":"21164:26:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"21064:9:7","parameters":{"id":2993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2988,"mutability":"mutable","name":"left","nameLocation":"21087:4:7","nodeType":"VariableDeclaration","scope":3002,"src":"21074:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2987,"name":"bytes","nodeType":"ElementaryTypeName","src":"21074:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2990,"mutability":"mutable","name":"right","nameLocation":"21106:5:7","nodeType":"VariableDeclaration","scope":3002,"src":"21093:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2989,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2992,"mutability":"mutable","name":"err","nameLocation":"21127:3:7","nodeType":"VariableDeclaration","scope":3002,"src":"21113:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2991,"name":"string","nodeType":"ElementaryTypeName","src":"21113:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21073:58:7"},"returnParameters":{"id":2994,"nodeType":"ParameterList","parameters":[],"src":"21154:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3015,"nodeType":"FunctionDefinition","src":"21203:124:7","nodes":[],"body":{"id":3014,"nodeType":"Block","src":"21286:41:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":3010,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3004,"src":"21308:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3011,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3006,"src":"21314:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3009,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1461,1479,1494,1512,1566,1584,1638,1656,1671,1689,1733,1751,1766,1784,1801,1821,1838,1858,1875,1895,1912,1932,1949,1969,1986,2006,2023,2043],"referencedDeclaration":1766,"src":"21296:11:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":3012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21296:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3013,"nodeType":"ExpressionStatement","src":"21296:24:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21212:12:7","parameters":{"id":3007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3004,"mutability":"mutable","name":"left","nameLocation":"21238:4:7","nodeType":"VariableDeclaration","scope":3015,"src":"21225:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3003,"name":"bytes","nodeType":"ElementaryTypeName","src":"21225:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3006,"mutability":"mutable","name":"right","nameLocation":"21257:5:7","nodeType":"VariableDeclaration","scope":3015,"src":"21244:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3005,"name":"bytes","nodeType":"ElementaryTypeName","src":"21244:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21224:39:7"},"returnParameters":{"id":3008,"nodeType":"ParameterList","parameters":[],"src":"21286:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3031,"nodeType":"FunctionDefinition","src":"21333:148:7","nodes":[],"body":{"id":3030,"nodeType":"Block","src":"21435:46:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":3025,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"21457:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3026,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3019,"src":"21463:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3027,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3021,"src":"21470:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3024,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1461,1479,1494,1512,1566,1584,1638,1656,1671,1689,1733,1751,1766,1784,1801,1821,1838,1858,1875,1895,1912,1932,1949,1969,1986,2006,2023,2043],"referencedDeclaration":1784,"src":"21445:11:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":3028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21445:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3029,"nodeType":"ExpressionStatement","src":"21445:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21342:12:7","parameters":{"id":3022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3017,"mutability":"mutable","name":"left","nameLocation":"21368:4:7","nodeType":"VariableDeclaration","scope":3031,"src":"21355:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3016,"name":"bytes","nodeType":"ElementaryTypeName","src":"21355:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3019,"mutability":"mutable","name":"right","nameLocation":"21387:5:7","nodeType":"VariableDeclaration","scope":3031,"src":"21374:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3018,"name":"bytes","nodeType":"ElementaryTypeName","src":"21374:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3021,"mutability":"mutable","name":"err","nameLocation":"21408:3:7","nodeType":"VariableDeclaration","scope":3031,"src":"21394:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3020,"name":"string","nodeType":"ElementaryTypeName","src":"21394:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21354:58:7"},"returnParameters":{"id":3023,"nodeType":"ParameterList","parameters":[],"src":"21435:0:7"},"scope":3202,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3049,"nodeType":"FunctionDefinition","src":"21487:176:7","nodes":[],"body":{"id":3048,"nodeType":"Block","src":"21590:73:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":3041,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"21613:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3042,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"21621:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3043,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"21632:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3044,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3037,"src":"21640:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21651:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3040,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3049,3069,3089,3201],"referencedDeclaration":3201,"src":"21600:12:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21600:56:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3047,"nodeType":"ExpressionStatement","src":"21600:56:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21496:12:7","parameters":{"id":3038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3033,"mutability":"mutable","name":"target","nameLocation":"21517:6:7","nodeType":"VariableDeclaration","scope":3049,"src":"21509:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3032,"name":"address","nodeType":"ElementaryTypeName","src":"21509:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3035,"mutability":"mutable","name":"callDataA","nameLocation":"21538:9:7","nodeType":"VariableDeclaration","scope":3049,"src":"21525:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3034,"name":"bytes","nodeType":"ElementaryTypeName","src":"21525:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3037,"mutability":"mutable","name":"callDataB","nameLocation":"21562:9:7","nodeType":"VariableDeclaration","scope":3049,"src":"21549:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3036,"name":"bytes","nodeType":"ElementaryTypeName","src":"21549:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21508:64:7"},"returnParameters":{"id":3039,"nodeType":"ParameterList","parameters":[],"src":"21590:0:7"},"scope":3202,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3069,"nodeType":"FunctionDefinition","src":"21669:216:7","nodes":[],"body":{"id":3068,"nodeType":"Block","src":"21810:75:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":3061,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3051,"src":"21833:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3062,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3053,"src":"21842:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3063,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3055,"src":"21853:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3064,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3057,"src":"21862:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21873:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3060,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3049,3069,3089,3201],"referencedDeclaration":3201,"src":"21820:12:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21820:58:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3067,"nodeType":"ExpressionStatement","src":"21820:58:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21678:12:7","parameters":{"id":3058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3051,"mutability":"mutable","name":"targetA","nameLocation":"21699:7:7","nodeType":"VariableDeclaration","scope":3069,"src":"21691:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3050,"name":"address","nodeType":"ElementaryTypeName","src":"21691:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3053,"mutability":"mutable","name":"callDataA","nameLocation":"21721:9:7","nodeType":"VariableDeclaration","scope":3069,"src":"21708:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3052,"name":"bytes","nodeType":"ElementaryTypeName","src":"21708:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3055,"mutability":"mutable","name":"targetB","nameLocation":"21740:7:7","nodeType":"VariableDeclaration","scope":3069,"src":"21732:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3054,"name":"address","nodeType":"ElementaryTypeName","src":"21732:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3057,"mutability":"mutable","name":"callDataB","nameLocation":"21762:9:7","nodeType":"VariableDeclaration","scope":3069,"src":"21749:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3056,"name":"bytes","nodeType":"ElementaryTypeName","src":"21749:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21690:82:7"},"returnParameters":{"id":3059,"nodeType":"ParameterList","parameters":[],"src":"21810:0:7"},"scope":3202,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3089,"nodeType":"FunctionDefinition","src":"21891:231:7","nodes":[],"body":{"id":3088,"nodeType":"Block","src":"22037:85:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":3081,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"22060:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3082,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"22068:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3083,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3071,"src":"22079:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3084,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3075,"src":"22087:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3085,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"22098:16:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3080,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3049,3069,3089,3201],"referencedDeclaration":3201,"src":"22047:12:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":3086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22047:68:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3087,"nodeType":"ExpressionStatement","src":"22047:68:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21900:12:7","parameters":{"id":3078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3071,"mutability":"mutable","name":"target","nameLocation":"21921:6:7","nodeType":"VariableDeclaration","scope":3089,"src":"21913:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3070,"name":"address","nodeType":"ElementaryTypeName","src":"21913:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3073,"mutability":"mutable","name":"callDataA","nameLocation":"21942:9:7","nodeType":"VariableDeclaration","scope":3089,"src":"21929:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3072,"name":"bytes","nodeType":"ElementaryTypeName","src":"21929:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3075,"mutability":"mutable","name":"callDataB","nameLocation":"21966:9:7","nodeType":"VariableDeclaration","scope":3089,"src":"21953:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3074,"name":"bytes","nodeType":"ElementaryTypeName","src":"21953:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3077,"mutability":"mutable","name":"strictRevertData","nameLocation":"21982:16:7","nodeType":"VariableDeclaration","scope":3089,"src":"21977:21:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3076,"name":"bool","nodeType":"ElementaryTypeName","src":"21977:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21912:87:7"},"returnParameters":{"id":3079,"nodeType":"ParameterList","parameters":[],"src":"22037:0:7"},"scope":3202,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3201,"nodeType":"FunctionDefinition","src":"22128:1229:7","nodes":[],"body":{"id":3200,"nodeType":"Block","src":"22318:1039:7","nodes":[],"statements":[{"assignments":[3103,3105],"declarations":[{"constant":false,"id":3103,"mutability":"mutable","name":"successA","nameLocation":"22334:8:7","nodeType":"VariableDeclaration","scope":3200,"src":"22329:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3102,"name":"bool","nodeType":"ElementaryTypeName","src":"22329:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3105,"mutability":"mutable","name":"returnDataA","nameLocation":"22357:11:7","nodeType":"VariableDeclaration","scope":3200,"src":"22344:24:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3104,"name":"bytes","nodeType":"ElementaryTypeName","src":"22344:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3113,"initialValue":{"arguments":[{"id":3111,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3093,"src":"22394:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3108,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3091,"src":"22380:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22372:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3106,"name":"address","nodeType":"ElementaryTypeName","src":"22372:7:7","typeDescriptions":{}}},"id":3109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22372:16:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"22372:21:7","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22372:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22328:76:7"},{"assignments":[3115,3117],"declarations":[{"constant":false,"id":3115,"mutability":"mutable","name":"successB","nameLocation":"22420:8:7","nodeType":"VariableDeclaration","scope":3200,"src":"22415:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3114,"name":"bool","nodeType":"ElementaryTypeName","src":"22415:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3117,"mutability":"mutable","name":"returnDataB","nameLocation":"22443:11:7","nodeType":"VariableDeclaration","scope":3200,"src":"22430:24:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3116,"name":"bytes","nodeType":"ElementaryTypeName","src":"22430:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3125,"initialValue":{"arguments":[{"id":3123,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"22480:9:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3120,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"22466:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22458:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3118,"name":"address","nodeType":"ElementaryTypeName","src":"22458:7:7","typeDescriptions":{}}},"id":3121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22458:16:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"22458:21:7","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22458:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22414:76:7"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3126,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"22505:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3127,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3115,"src":"22517:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22505:20:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3136,"nodeType":"IfStatement","src":"22501:120:7","trueBody":{"id":3135,"nodeType":"Block","src":"22527:94:7","statements":[{"expression":{"arguments":[{"id":3130,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"22550:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3131,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3117,"src":"22563:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":3132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22576:33:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""},"value":"Call return data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""}],"id":3129,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[851,869,884,902,956,974,1028,1046,1061,1079,1123,1141,1156,1174,1191,1211,1228,1248,1265,1285,1302,1322,1339,1359,1376,1396,1413,1433],"referencedDeclaration":1174,"src":"22541:8:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":3133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22541:69:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3134,"nodeType":"ExpressionStatement","src":"22541:69:7"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22635:9:7","subExpression":{"id":3137,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"22636:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22648:9:7","subExpression":{"id":3139,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3115,"src":"22649:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:22:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3142,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3099,"src":"22661:16:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:42:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3151,"nodeType":"IfStatement","src":"22631:142:7","trueBody":{"id":3150,"nodeType":"Block","src":"22679:94:7","statements":[{"expression":{"arguments":[{"id":3145,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"22702:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3146,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3117,"src":"22715:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":3147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22728:33:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""},"value":"Call revert data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""}],"id":3144,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[851,869,884,902,956,974,1028,1046,1061,1079,1123,1141,1156,1174,1191,1211,1228,1248,1265,1285,1302,1322,1339,1359,1376,1396,1413,1433],"referencedDeclaration":1174,"src":"22693:8:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":3148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22693:69:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3149,"nodeType":"ExpressionStatement","src":"22693:69:7"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22787:9:7","subExpression":{"id":3152,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"22788:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3154,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3115,"src":"22800:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22787:21:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3175,"nodeType":"IfStatement","src":"22783:279:7","trueBody":{"id":3174,"nodeType":"Block","src":"22810:252:7","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22833:29:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":3156,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"22829:3:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22829:34:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3159,"nodeType":"EmitStatement","src":"22824:39:7"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":3161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22898:25:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \"  Left call revert data\""},"value":"  Left call revert data"},{"id":3162,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"22925:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \"  Left call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3160,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":681,"src":"22882:15:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22882:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3164,"nodeType":"EmitStatement","src":"22877:60:7"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":3166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22972:25:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":3167,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3117,"src":"22999:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3165,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":681,"src":"22956:15:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22956:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3169,"nodeType":"EmitStatement","src":"22951:60:7"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":3171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23032:18:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""},"value":"assertion failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""}],"id":3170,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23025:6:7","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":3172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23025:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3173,"nodeType":"ExpressionStatement","src":"23025:26:7"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3176,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"23076:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23088:9:7","subExpression":{"id":3177,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3115,"src":"23089:8:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23076:21:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3199,"nodeType":"IfStatement","src":"23072:279:7","trueBody":{"id":3198,"nodeType":"Block","src":"23099:252:7","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23122:29:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":3180,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"23118:3:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23118:34:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3183,"nodeType":"EmitStatement","src":"23113:39:7"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":3185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23187:25:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \"  Left call return data\""},"value":"  Left call return data"},{"id":3186,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"23214:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \"  Left call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3184,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":681,"src":"23171:15:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23171:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3188,"nodeType":"EmitStatement","src":"23166:60:7"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":3190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23261:25:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":3191,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3117,"src":"23288:11:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3189,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":681,"src":"23245:15:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23245:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3193,"nodeType":"EmitStatement","src":"23240:60:7"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":3195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23321:18:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""},"value":"assertion failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""}],"id":3194,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23314:6:7","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":3196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23314:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3197,"nodeType":"ExpressionStatement","src":"23314:26:7"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"22137:12:7","parameters":{"id":3100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3091,"mutability":"mutable","name":"targetA","nameLocation":"22167:7:7","nodeType":"VariableDeclaration","scope":3201,"src":"22159:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3090,"name":"address","nodeType":"ElementaryTypeName","src":"22159:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3093,"mutability":"mutable","name":"callDataA","nameLocation":"22197:9:7","nodeType":"VariableDeclaration","scope":3201,"src":"22184:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3092,"name":"bytes","nodeType":"ElementaryTypeName","src":"22184:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3095,"mutability":"mutable","name":"targetB","nameLocation":"22224:7:7","nodeType":"VariableDeclaration","scope":3201,"src":"22216:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3094,"name":"address","nodeType":"ElementaryTypeName","src":"22216:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3097,"mutability":"mutable","name":"callDataB","nameLocation":"22254:9:7","nodeType":"VariableDeclaration","scope":3201,"src":"22241:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3096,"name":"bytes","nodeType":"ElementaryTypeName","src":"22241:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3099,"mutability":"mutable","name":"strictRevertData","nameLocation":"22278:16:7","nodeType":"VariableDeclaration","scope":3201,"src":"22273:21:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3098,"name":"bool","nodeType":"ElementaryTypeName","src":"22273:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22149:151:7"},"returnParameters":{"id":3101,"nodeType":"ParameterList","parameters":[],"src":"22318:0:7"},"scope":3202,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[3202],"name":"StdAssertions","nameLocation":"147:13:7","scope":3203,"usedErrors":[]}],"license":"MIT"},"id":7}