{"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.26+commit.8a97fa7a\"},\"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\":\"cancun\",\"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.26+commit.8a97fa7a"},"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":"cancun","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":257,"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":2735,"exportedSymbols":{"StdAssertions":[2734],"Vm":[15857]},"nodeType":"SourceUnit","src":"32:23328:2","nodes":[{"id":115,"nodeType":"PragmaDirective","src":"32:31:2","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":116,"nodeType":"PragmaDirective","src":"64:33:2","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":118,"nodeType":"ImportDirective","src":"99:28:2","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":2735,"sourceUnit":15858,"symbolAliases":[{"foreign":{"id":117,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"107:2:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2734,"nodeType":"ContractDefinition","src":"129:23230:2","nodes":[{"id":135,"nodeType":"VariableDeclaration","src":"167:84:2","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"187:2:2","scope":2734,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"},"typeName":{"id":120,"nodeType":"UserDefinedTypeName","pathNode":{"id":119,"name":"Vm","nameLocations":["167:2:2"],"nodeType":"IdentifierPath","referencedDeclaration":15857,"src":"167:2:2"},"referencedDeclaration":15857,"src":"167:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"229:17:2","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":128,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"219:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"219:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"211:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":126,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:2","typeDescriptions":{}}},"id":131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"203:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":124,"name":"uint160","nodeType":"ElementaryTypeName","src":"203:7:2","typeDescriptions":{}}},"id":132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"195:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":122,"name":"address","nodeType":"ElementaryTypeName","src":"195:7:2","typeDescriptions":{}}},"id":133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":121,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"192:2:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15857_$","typeString":"type(contract Vm)"}},"id":134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"visibility":"private"},{"id":139,"nodeType":"EventDefinition","src":"258:18:2","nodes":[],"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","name":"log","nameLocation":"264:3:2","parameters":{"id":138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":137,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":139,"src":"268:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":136,"name":"string","nodeType":"ElementaryTypeName","src":"268:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"267:8:2"}},{"id":143,"nodeType":"EventDefinition","src":"281:18:2","nodes":[],"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","name":"logs","nameLocation":"287:4:2","parameters":{"id":142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":141,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":143,"src":"292:5:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":140,"name":"bytes","nodeType":"ElementaryTypeName","src":"292:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"291:7:2"}},{"id":147,"nodeType":"EventDefinition","src":"305:27:2","nodes":[],"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","name":"log_address","nameLocation":"311:11:2","parameters":{"id":146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":145,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":147,"src":"323:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":144,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:9:2"}},{"id":151,"nodeType":"EventDefinition","src":"337:27:2","nodes":[],"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","name":"log_bytes32","nameLocation":"343:11:2","parameters":{"id":150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":149,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":151,"src":"355:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:9:2"}},{"id":155,"nodeType":"EventDefinition","src":"369:22:2","nodes":[],"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","name":"log_int","nameLocation":"375:7:2","parameters":{"id":154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":153,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":155,"src":"383:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":152,"name":"int256","nodeType":"ElementaryTypeName","src":"383:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"382:8:2"}},{"id":159,"nodeType":"EventDefinition","src":"396:24:2","nodes":[],"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","name":"log_uint","nameLocation":"402:8:2","parameters":{"id":158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":157,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":159,"src":"411:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":156,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"410:9:2"}},{"id":163,"nodeType":"EventDefinition","src":"425:23:2","nodes":[],"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","name":"log_bytes","nameLocation":"431:9:2","parameters":{"id":162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":161,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":163,"src":"441:5:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":160,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"440:7:2"}},{"id":167,"nodeType":"EventDefinition","src":"453:25:2","nodes":[],"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","name":"log_string","nameLocation":"459:10:2","parameters":{"id":166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":165,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":167,"src":"470:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":164,"name":"string","nodeType":"ElementaryTypeName","src":"470:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"469:8:2"}},{"id":173,"nodeType":"EventDefinition","src":"484:49:2","nodes":[],"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","name":"log_named_address","nameLocation":"490:17:2","parameters":{"id":172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":169,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"515:3:2","nodeType":"VariableDeclaration","scope":173,"src":"508:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":168,"name":"string","nodeType":"ElementaryTypeName","src":"508:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":171,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"528:3:2","nodeType":"VariableDeclaration","scope":173,"src":"520:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":170,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"507:25:2"}},{"id":179,"nodeType":"EventDefinition","src":"538:49:2","nodes":[],"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","name":"log_named_bytes32","nameLocation":"544:17:2","parameters":{"id":178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":175,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"569:3:2","nodeType":"VariableDeclaration","scope":179,"src":"562:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":174,"name":"string","nodeType":"ElementaryTypeName","src":"562:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":177,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"582:3:2","nodeType":"VariableDeclaration","scope":179,"src":"574:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"574:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"561:25:2"}},{"id":187,"nodeType":"EventDefinition","src":"592:70:2","nodes":[],"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","name":"log_named_decimal_int","nameLocation":"598:21:2","parameters":{"id":186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":181,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"627:3:2","nodeType":"VariableDeclaration","scope":187,"src":"620:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":180,"name":"string","nodeType":"ElementaryTypeName","src":"620:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":183,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"639:3:2","nodeType":"VariableDeclaration","scope":187,"src":"632:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":182,"name":"int256","nodeType":"ElementaryTypeName","src":"632:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":185,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"652:8:2","nodeType":"VariableDeclaration","scope":187,"src":"644:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":184,"name":"uint256","nodeType":"ElementaryTypeName","src":"644:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"619:42:2"}},{"id":195,"nodeType":"EventDefinition","src":"667:72:2","nodes":[],"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","name":"log_named_decimal_uint","nameLocation":"673:22:2","parameters":{"id":194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":189,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"703:3:2","nodeType":"VariableDeclaration","scope":195,"src":"696:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":188,"name":"string","nodeType":"ElementaryTypeName","src":"696:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":191,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"716:3:2","nodeType":"VariableDeclaration","scope":195,"src":"708:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":190,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":193,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"729:8:2","nodeType":"VariableDeclaration","scope":195,"src":"721:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":192,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"695:43:2"}},{"id":201,"nodeType":"EventDefinition","src":"744:44:2","nodes":[],"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","name":"log_named_int","nameLocation":"750:13:2","parameters":{"id":200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"771:3:2","nodeType":"VariableDeclaration","scope":201,"src":"764:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":196,"name":"string","nodeType":"ElementaryTypeName","src":"764:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":199,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"783:3:2","nodeType":"VariableDeclaration","scope":201,"src":"776:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":198,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"763:24:2"}},{"id":207,"nodeType":"EventDefinition","src":"793:46:2","nodes":[],"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","name":"log_named_uint","nameLocation":"799:14:2","parameters":{"id":206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":203,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"821:3:2","nodeType":"VariableDeclaration","scope":207,"src":"814:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":202,"name":"string","nodeType":"ElementaryTypeName","src":"814:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":205,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"834:3:2","nodeType":"VariableDeclaration","scope":207,"src":"826:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":204,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"813:25:2"}},{"id":213,"nodeType":"EventDefinition","src":"844:45:2","nodes":[],"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","name":"log_named_bytes","nameLocation":"850:15:2","parameters":{"id":212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":209,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"873:3:2","nodeType":"VariableDeclaration","scope":213,"src":"866:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":208,"name":"string","nodeType":"ElementaryTypeName","src":"866:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":211,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"884:3:2","nodeType":"VariableDeclaration","scope":213,"src":"878:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":210,"name":"bytes","nodeType":"ElementaryTypeName","src":"878:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"865:23:2"}},{"id":219,"nodeType":"EventDefinition","src":"894:47:2","nodes":[],"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","name":"log_named_string","nameLocation":"900:16:2","parameters":{"id":218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":215,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"924:3:2","nodeType":"VariableDeclaration","scope":219,"src":"917:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":214,"name":"string","nodeType":"ElementaryTypeName","src":"917:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":217,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"936:3:2","nodeType":"VariableDeclaration","scope":219,"src":"929:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":216,"name":"string","nodeType":"ElementaryTypeName","src":"929:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"916:24:2"}},{"id":224,"nodeType":"EventDefinition","src":"947:31:2","nodes":[],"anonymous":false,"eventSelector":"fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1","name":"log_array","nameLocation":"953:9:2","parameters":{"id":223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":222,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"973:3:2","nodeType":"VariableDeclaration","scope":224,"src":"963:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":220,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":221,"nodeType":"ArrayTypeName","src":"963:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"962:15:2"}},{"id":229,"nodeType":"EventDefinition","src":"983:30:2","nodes":[],"anonymous":false,"eventSelector":"890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5","name":"log_array","nameLocation":"989:9:2","parameters":{"id":228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":227,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1008:3:2","nodeType":"VariableDeclaration","scope":229,"src":"999:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":225,"name":"int256","nodeType":"ElementaryTypeName","src":"999:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":226,"nodeType":"ArrayTypeName","src":"999:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"998:14:2"}},{"id":234,"nodeType":"EventDefinition","src":"1018:31:2","nodes":[],"anonymous":false,"eventSelector":"40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2","name":"log_array","nameLocation":"1024:9:2","parameters":{"id":233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1044:3:2","nodeType":"VariableDeclaration","scope":234,"src":"1034:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":230,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":231,"nodeType":"ArrayTypeName","src":"1034:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1033:15:2"}},{"id":241,"nodeType":"EventDefinition","src":"1054:49:2","nodes":[],"anonymous":false,"eventSelector":"00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb","name":"log_named_array","nameLocation":"1060:15:2","parameters":{"id":240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":236,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1083:3:2","nodeType":"VariableDeclaration","scope":241,"src":"1076:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":235,"name":"string","nodeType":"ElementaryTypeName","src":"1076:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":239,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1098:3:2","nodeType":"VariableDeclaration","scope":241,"src":"1088:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":237,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":238,"nodeType":"ArrayTypeName","src":"1088:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1075:27:2"}},{"id":248,"nodeType":"EventDefinition","src":"1108:48:2","nodes":[],"anonymous":false,"eventSelector":"a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57","name":"log_named_array","nameLocation":"1114:15:2","parameters":{"id":247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":243,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1137:3:2","nodeType":"VariableDeclaration","scope":248,"src":"1130:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":242,"name":"string","nodeType":"ElementaryTypeName","src":"1130:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":246,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1151:3:2","nodeType":"VariableDeclaration","scope":248,"src":"1142:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":244,"name":"int256","nodeType":"ElementaryTypeName","src":"1142:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":245,"nodeType":"ArrayTypeName","src":"1142:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1129:26:2"}},{"id":255,"nodeType":"EventDefinition","src":"1161:49:2","nodes":[],"anonymous":false,"eventSelector":"3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd","name":"log_named_array","nameLocation":"1167:15:2","parameters":{"id":254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":250,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1190:3:2","nodeType":"VariableDeclaration","scope":255,"src":"1183:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":249,"name":"string","nodeType":"ElementaryTypeName","src":"1183:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":253,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1205:3:2","nodeType":"VariableDeclaration","scope":255,"src":"1195:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":251,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":252,"nodeType":"ArrayTypeName","src":"1195:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1182:27:2"}},{"id":257,"nodeType":"VariableDeclaration","src":"1216:20:2","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1229:7:2","scope":2734,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":256,"name":"bool","nodeType":"ElementaryTypeName","src":"1216:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":286,"nodeType":"FunctionDefinition","src":"1243:204:2","nodes":[],"body":{"id":285,"nodeType":"Block","src":"1288:159:2","nodes":[],"statements":[{"condition":{"id":262,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":257,"src":"1302:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":283,"nodeType":"Block","src":"1356:85:2","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":270,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1393:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}],"id":269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1385:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":268,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:2","typeDescriptions":{}}},"id":271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:11:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1406:8:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1398:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1398:7:2","typeDescriptions":{}}},"id":275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1398:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":266,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1377:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1380:4:2","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":12697,"src":"1377:7:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1377:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1428:1:2","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":278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1420:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1420:7:2","typeDescriptions":{}}},"id":280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1420:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1377:53:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":261,"id":282,"nodeType":"Return","src":"1370:60:2"}]},"id":284,"nodeType":"IfStatement","src":"1298:143:2","trueBody":{"id":265,"nodeType":"Block","src":"1311:39:2","statements":[{"expression":{"id":263,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":257,"src":"1332:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":261,"id":264,"nodeType":"Return","src":"1325:14:2"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1252:6:2","parameters":{"id":258,"nodeType":"ParameterList","parameters":[],"src":"1258:2:2"},"returnParameters":{"id":261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":286,"src":"1282:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":259,"name":"bool","nodeType":"ElementaryTypeName","src":"1282:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1281:6:2"},"scope":2734,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":314,"nodeType":"FunctionDefinition","src":"1453:135:2","nodes":[],"body":{"id":313,"nodeType":"Block","src":"1486:102:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":294,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1513:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}],"id":293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1505:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":292,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:2","typeDescriptions":{}}},"id":295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1505:11:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1526:8:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1518:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1518:7:2","typeDescriptions":{}}},"id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1518:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"31","id":304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1553:1:2","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":303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1545:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":302,"name":"uint256","nodeType":"ElementaryTypeName","src":"1545:7:2","typeDescriptions":{}}},"id":305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1545:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1537:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1537:7:2","typeDescriptions":{}}},"id":306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1537:19:2","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":289,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1496:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1499:5:2","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":15660,"src":"1496:8:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1496:61:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":308,"nodeType":"ExpressionStatement","src":"1496:61:2"},{"expression":{"id":311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":309,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":257,"src":"1567:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1577:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1567:14:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":312,"nodeType":"ExpressionStatement","src":"1567:14:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1462:4:2","parameters":{"id":287,"nodeType":"ParameterList","parameters":[],"src":"1466:2:2"},"returnParameters":{"id":288,"nodeType":"ParameterList","parameters":[],"src":"1486:0:2"},"scope":2734,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":326,"nodeType":"FunctionDefinition","src":"1594:89:2","nodes":[],"body":{"id":325,"nodeType":"Block","src":"1647:36:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":322,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":316,"src":"1671:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":319,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1657:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1660:10:2","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":14817,"src":"1657:13:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1657:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":324,"nodeType":"ExpressionStatement","src":"1657:19:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1603:10:2","parameters":{"id":317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":316,"mutability":"mutable","name":"data","nameLocation":"1619:4:2","nodeType":"VariableDeclaration","scope":326,"src":"1614:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":315,"name":"bool","nodeType":"ElementaryTypeName","src":"1614:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1613:11:2"},"returnParameters":{"id":318,"nodeType":"ParameterList","parameters":[],"src":"1647:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":341,"nodeType":"FunctionDefinition","src":"1689:113:2","nodes":[],"body":{"id":340,"nodeType":"Block","src":"1761:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":336,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":328,"src":"1785:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":337,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"1791:3:2","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":333,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1771:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1774:10:2","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":14825,"src":"1771:13:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"ExpressionStatement","src":"1771:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1698:10:2","parameters":{"id":331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":328,"mutability":"mutable","name":"data","nameLocation":"1714:4:2","nodeType":"VariableDeclaration","scope":341,"src":"1709:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":327,"name":"bool","nodeType":"ElementaryTypeName","src":"1709:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":330,"mutability":"mutable","name":"err","nameLocation":"1734:3:2","nodeType":"VariableDeclaration","scope":341,"src":"1720:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":329,"name":"string","nodeType":"ElementaryTypeName","src":"1720:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1708:30:2"},"returnParameters":{"id":332,"nodeType":"ParameterList","parameters":[],"src":"1761:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":353,"nodeType":"FunctionDefinition","src":"1808:91:2","nodes":[],"body":{"id":352,"nodeType":"Block","src":"1862:37:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":349,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":343,"src":"1887:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":346,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1872:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1875:11:2","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":14159,"src":"1872:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":351,"nodeType":"ExpressionStatement","src":"1872:20:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1817:11:2","parameters":{"id":344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":343,"mutability":"mutable","name":"data","nameLocation":"1834:4:2","nodeType":"VariableDeclaration","scope":353,"src":"1829:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":342,"name":"bool","nodeType":"ElementaryTypeName","src":"1829:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1828:11:2"},"returnParameters":{"id":345,"nodeType":"ParameterList","parameters":[],"src":"1862:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":368,"nodeType":"FunctionDefinition","src":"1905:115:2","nodes":[],"body":{"id":367,"nodeType":"Block","src":"1978:42:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":363,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":355,"src":"2003:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":364,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2009:3:2","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":360,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"1988:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1991:11:2","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":14167,"src":"1988:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1988:25:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":366,"nodeType":"ExpressionStatement","src":"1988:25:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1914:11:2","parameters":{"id":358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":355,"mutability":"mutable","name":"data","nameLocation":"1931:4:2","nodeType":"VariableDeclaration","scope":368,"src":"1926:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":354,"name":"bool","nodeType":"ElementaryTypeName","src":"1926:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":357,"mutability":"mutable","name":"err","nameLocation":"1951:3:2","nodeType":"VariableDeclaration","scope":368,"src":"1937:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":356,"name":"string","nodeType":"ElementaryTypeName","src":"1937:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1925:30:2"},"returnParameters":{"id":359,"nodeType":"ParameterList","parameters":[],"src":"1978:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":383,"nodeType":"FunctionDefinition","src":"2026:104:2","nodes":[],"body":{"id":382,"nodeType":"Block","src":"2089:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":378,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":370,"src":"2111:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":379,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"2117:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":375,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"2099:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2102:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13881,"src":"2099:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2099:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":381,"nodeType":"ExpressionStatement","src":"2099:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2035:8:2","parameters":{"id":373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":370,"mutability":"mutable","name":"left","nameLocation":"2049:4:2","nodeType":"VariableDeclaration","scope":383,"src":"2044:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":369,"name":"bool","nodeType":"ElementaryTypeName","src":"2044:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":372,"mutability":"mutable","name":"right","nameLocation":"2060:5:2","nodeType":"VariableDeclaration","scope":383,"src":"2055:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":371,"name":"bool","nodeType":"ElementaryTypeName","src":"2055:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2043:23:2"},"returnParameters":{"id":374,"nodeType":"ParameterList","parameters":[],"src":"2089:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":401,"nodeType":"FunctionDefinition","src":"2136:128:2","nodes":[],"body":{"id":400,"nodeType":"Block","src":"2218:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":395,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":385,"src":"2240:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":396,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":387,"src":"2246:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":397,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":389,"src":"2253:3:2","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":392,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"2228:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2231:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13891,"src":"2228:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2228:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":399,"nodeType":"ExpressionStatement","src":"2228:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2145:8:2","parameters":{"id":390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":385,"mutability":"mutable","name":"left","nameLocation":"2159:4:2","nodeType":"VariableDeclaration","scope":401,"src":"2154:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":384,"name":"bool","nodeType":"ElementaryTypeName","src":"2154:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":387,"mutability":"mutable","name":"right","nameLocation":"2170:5:2","nodeType":"VariableDeclaration","scope":401,"src":"2165:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":386,"name":"bool","nodeType":"ElementaryTypeName","src":"2165:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":389,"mutability":"mutable","name":"err","nameLocation":"2191:3:2","nodeType":"VariableDeclaration","scope":401,"src":"2177:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":388,"name":"string","nodeType":"ElementaryTypeName","src":"2177:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2153:42:2"},"returnParameters":{"id":391,"nodeType":"ParameterList","parameters":[],"src":"2218:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":416,"nodeType":"FunctionDefinition","src":"2270:110:2","nodes":[],"body":{"id":415,"nodeType":"Block","src":"2339:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":411,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"2361:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":412,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"2367:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":408,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"2349:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14001,"src":"2349:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":414,"nodeType":"ExpressionStatement","src":"2349:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2279:8:2","parameters":{"id":406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":403,"mutability":"mutable","name":"left","nameLocation":"2296:4:2","nodeType":"VariableDeclaration","scope":416,"src":"2288:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":402,"name":"uint256","nodeType":"ElementaryTypeName","src":"2288:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":405,"mutability":"mutable","name":"right","nameLocation":"2310:5:2","nodeType":"VariableDeclaration","scope":416,"src":"2302:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":404,"name":"uint256","nodeType":"ElementaryTypeName","src":"2302:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2287:29:2"},"returnParameters":{"id":407,"nodeType":"ParameterList","parameters":[],"src":"2339:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":434,"nodeType":"FunctionDefinition","src":"2386:134:2","nodes":[],"body":{"id":433,"nodeType":"Block","src":"2474:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":428,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":418,"src":"2496:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":429,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":420,"src":"2502:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":430,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"2509:3:2","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":425,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"2484:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2487:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14099,"src":"2484:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2484:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":432,"nodeType":"ExpressionStatement","src":"2484:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2395:8:2","parameters":{"id":423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":418,"mutability":"mutable","name":"left","nameLocation":"2412:4:2","nodeType":"VariableDeclaration","scope":434,"src":"2404:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":417,"name":"uint256","nodeType":"ElementaryTypeName","src":"2404:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":420,"mutability":"mutable","name":"right","nameLocation":"2426:5:2","nodeType":"VariableDeclaration","scope":434,"src":"2418:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":419,"name":"uint256","nodeType":"ElementaryTypeName","src":"2418:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":422,"mutability":"mutable","name":"err","nameLocation":"2447:3:2","nodeType":"VariableDeclaration","scope":434,"src":"2433:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":421,"name":"string","nodeType":"ElementaryTypeName","src":"2433:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:48:2"},"returnParameters":{"id":424,"nodeType":"ParameterList","parameters":[],"src":"2474:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":452,"nodeType":"FunctionDefinition","src":"2526:152:2","nodes":[],"body":{"id":451,"nodeType":"Block","src":"2620:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":446,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":436,"src":"2649:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":447,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"2655:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":448,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":440,"src":"2662:8:2","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":443,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"2630:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2633:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13839,"src":"2630:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2630:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":450,"nodeType":"ExpressionStatement","src":"2630:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2535:15:2","parameters":{"id":441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":436,"mutability":"mutable","name":"left","nameLocation":"2559:4:2","nodeType":"VariableDeclaration","scope":452,"src":"2551:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":435,"name":"uint256","nodeType":"ElementaryTypeName","src":"2551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":438,"mutability":"mutable","name":"right","nameLocation":"2573:5:2","nodeType":"VariableDeclaration","scope":452,"src":"2565:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":437,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":440,"mutability":"mutable","name":"decimals","nameLocation":"2588:8:2","nodeType":"VariableDeclaration","scope":452,"src":"2580:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":439,"name":"uint256","nodeType":"ElementaryTypeName","src":"2580:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2550:47:2"},"returnParameters":{"id":442,"nodeType":"ParameterList","parameters":[],"src":"2620:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":473,"nodeType":"FunctionDefinition","src":"2684:176:2","nodes":[],"body":{"id":472,"nodeType":"Block","src":"2797:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":466,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":454,"src":"2826:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":467,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":456,"src":"2832:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":468,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"2839:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":469,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"2849:3:2","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":463,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"2807:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2810:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13851,"src":"2807:18:2","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":470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2807:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":471,"nodeType":"ExpressionStatement","src":"2807:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2693:15:2","parameters":{"id":461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":454,"mutability":"mutable","name":"left","nameLocation":"2717:4:2","nodeType":"VariableDeclaration","scope":473,"src":"2709:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":453,"name":"uint256","nodeType":"ElementaryTypeName","src":"2709:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":456,"mutability":"mutable","name":"right","nameLocation":"2731:5:2","nodeType":"VariableDeclaration","scope":473,"src":"2723:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":455,"name":"uint256","nodeType":"ElementaryTypeName","src":"2723:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":458,"mutability":"mutable","name":"decimals","nameLocation":"2746:8:2","nodeType":"VariableDeclaration","scope":473,"src":"2738:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":457,"name":"uint256","nodeType":"ElementaryTypeName","src":"2738:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":460,"mutability":"mutable","name":"err","nameLocation":"2770:3:2","nodeType":"VariableDeclaration","scope":473,"src":"2756:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":459,"name":"string","nodeType":"ElementaryTypeName","src":"2756:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2708:66:2"},"returnParameters":{"id":462,"nodeType":"ParameterList","parameters":[],"src":"2797:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":488,"nodeType":"FunctionDefinition","src":"2866:108:2","nodes":[],"body":{"id":487,"nodeType":"Block","src":"2933:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":483,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":475,"src":"2955:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":484,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"2961:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":480,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"2943:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2946:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14107,"src":"2943:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2943:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":486,"nodeType":"ExpressionStatement","src":"2943:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2875:8:2","parameters":{"id":478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":475,"mutability":"mutable","name":"left","nameLocation":"2891:4:2","nodeType":"VariableDeclaration","scope":488,"src":"2884:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":474,"name":"int256","nodeType":"ElementaryTypeName","src":"2884:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":477,"mutability":"mutable","name":"right","nameLocation":"2904:5:2","nodeType":"VariableDeclaration","scope":488,"src":"2897:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":476,"name":"int256","nodeType":"ElementaryTypeName","src":"2897:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2883:27:2"},"returnParameters":{"id":479,"nodeType":"ParameterList","parameters":[],"src":"2933:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":506,"nodeType":"FunctionDefinition","src":"2980:132:2","nodes":[],"body":{"id":505,"nodeType":"Block","src":"3066:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":500,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3088:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":501,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":492,"src":"3094:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":502,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":494,"src":"3101:3:2","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":497,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"3076:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3079:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14117,"src":"3076:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3076:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":504,"nodeType":"ExpressionStatement","src":"3076:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2989:8:2","parameters":{"id":495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":490,"mutability":"mutable","name":"left","nameLocation":"3005:4:2","nodeType":"VariableDeclaration","scope":506,"src":"2998:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":489,"name":"int256","nodeType":"ElementaryTypeName","src":"2998:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":492,"mutability":"mutable","name":"right","nameLocation":"3018:5:2","nodeType":"VariableDeclaration","scope":506,"src":"3011:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":491,"name":"int256","nodeType":"ElementaryTypeName","src":"3011:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":494,"mutability":"mutable","name":"err","nameLocation":"3039:3:2","nodeType":"VariableDeclaration","scope":506,"src":"3025:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":493,"name":"string","nodeType":"ElementaryTypeName","src":"3025:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2997:46:2"},"returnParameters":{"id":496,"nodeType":"ParameterList","parameters":[],"src":"3066:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":524,"nodeType":"FunctionDefinition","src":"3118:150:2","nodes":[],"body":{"id":523,"nodeType":"Block","src":"3210:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":518,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":508,"src":"3239:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":519,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":510,"src":"3245:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":520,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"3252:8:2","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":515,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"3220:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3223:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13861,"src":"3220:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3220:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":522,"nodeType":"ExpressionStatement","src":"3220:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3127:15:2","parameters":{"id":513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":508,"mutability":"mutable","name":"left","nameLocation":"3150:4:2","nodeType":"VariableDeclaration","scope":524,"src":"3143:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":507,"name":"int256","nodeType":"ElementaryTypeName","src":"3143:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":510,"mutability":"mutable","name":"right","nameLocation":"3163:5:2","nodeType":"VariableDeclaration","scope":524,"src":"3156:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":509,"name":"int256","nodeType":"ElementaryTypeName","src":"3156:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":512,"mutability":"mutable","name":"decimals","nameLocation":"3178:8:2","nodeType":"VariableDeclaration","scope":524,"src":"3170:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":511,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3142:45:2"},"returnParameters":{"id":514,"nodeType":"ParameterList","parameters":[],"src":"3210:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":545,"nodeType":"FunctionDefinition","src":"3274:174:2","nodes":[],"body":{"id":544,"nodeType":"Block","src":"3385:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":538,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":526,"src":"3414:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":539,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":528,"src":"3420:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":540,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"3427:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":541,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":532,"src":"3437:3:2","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":535,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"3395:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3398:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":13873,"src":"3395:18:2","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":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3395:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":543,"nodeType":"ExpressionStatement","src":"3395:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3283:15:2","parameters":{"id":533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":526,"mutability":"mutable","name":"left","nameLocation":"3306:4:2","nodeType":"VariableDeclaration","scope":545,"src":"3299:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":525,"name":"int256","nodeType":"ElementaryTypeName","src":"3299:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":528,"mutability":"mutable","name":"right","nameLocation":"3319:5:2","nodeType":"VariableDeclaration","scope":545,"src":"3312:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":527,"name":"int256","nodeType":"ElementaryTypeName","src":"3312:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":530,"mutability":"mutable","name":"decimals","nameLocation":"3334:8:2","nodeType":"VariableDeclaration","scope":545,"src":"3326:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":529,"name":"uint256","nodeType":"ElementaryTypeName","src":"3326:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":532,"mutability":"mutable","name":"err","nameLocation":"3358:3:2","nodeType":"VariableDeclaration","scope":545,"src":"3344:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":531,"name":"string","nodeType":"ElementaryTypeName","src":"3344:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3298:64:2"},"returnParameters":{"id":534,"nodeType":"ParameterList","parameters":[],"src":"3385:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":560,"nodeType":"FunctionDefinition","src":"3454:110:2","nodes":[],"body":{"id":559,"nodeType":"Block","src":"3523:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":555,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":547,"src":"3545:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":556,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":549,"src":"3551:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":552,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"3533:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3536:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14125,"src":"3533:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3533:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"ExpressionStatement","src":"3533:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3463:8:2","parameters":{"id":550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":547,"mutability":"mutable","name":"left","nameLocation":"3480:4:2","nodeType":"VariableDeclaration","scope":560,"src":"3472:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":546,"name":"address","nodeType":"ElementaryTypeName","src":"3472:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":549,"mutability":"mutable","name":"right","nameLocation":"3494:5:2","nodeType":"VariableDeclaration","scope":560,"src":"3486:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":548,"name":"address","nodeType":"ElementaryTypeName","src":"3486:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3471:29:2"},"returnParameters":{"id":551,"nodeType":"ParameterList","parameters":[],"src":"3523:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":578,"nodeType":"FunctionDefinition","src":"3570:134:2","nodes":[],"body":{"id":577,"nodeType":"Block","src":"3658:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":572,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"3680:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":573,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":564,"src":"3686:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":574,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":566,"src":"3693:3:2","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":569,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"3668:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3671:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14135,"src":"3668:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3668:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":576,"nodeType":"ExpressionStatement","src":"3668:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3579:8:2","parameters":{"id":567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":562,"mutability":"mutable","name":"left","nameLocation":"3596:4:2","nodeType":"VariableDeclaration","scope":578,"src":"3588:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":561,"name":"address","nodeType":"ElementaryTypeName","src":"3588:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":564,"mutability":"mutable","name":"right","nameLocation":"3610:5:2","nodeType":"VariableDeclaration","scope":578,"src":"3602:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":563,"name":"address","nodeType":"ElementaryTypeName","src":"3602:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":566,"mutability":"mutable","name":"err","nameLocation":"3631:3:2","nodeType":"VariableDeclaration","scope":578,"src":"3617:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":565,"name":"string","nodeType":"ElementaryTypeName","src":"3617:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3587:48:2"},"returnParameters":{"id":568,"nodeType":"ParameterList","parameters":[],"src":"3658:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":593,"nodeType":"FunctionDefinition","src":"3710:110:2","nodes":[],"body":{"id":592,"nodeType":"Block","src":"3779:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":588,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":580,"src":"3801:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":589,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":582,"src":"3807:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":585,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"3789:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3792:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14143,"src":"3789:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3789:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":591,"nodeType":"ExpressionStatement","src":"3789:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3719:8:2","parameters":{"id":583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":580,"mutability":"mutable","name":"left","nameLocation":"3736:4:2","nodeType":"VariableDeclaration","scope":593,"src":"3728:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":579,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3728:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":582,"mutability":"mutable","name":"right","nameLocation":"3750:5:2","nodeType":"VariableDeclaration","scope":593,"src":"3742:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3742:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3727:29:2"},"returnParameters":{"id":584,"nodeType":"ParameterList","parameters":[],"src":"3779:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":611,"nodeType":"FunctionDefinition","src":"3826:134:2","nodes":[],"body":{"id":610,"nodeType":"Block","src":"3914:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":605,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":595,"src":"3936:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":606,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":597,"src":"3942:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":607,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"3949:3:2","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":602,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"3924:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3927:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14153,"src":"3924:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3924:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":609,"nodeType":"ExpressionStatement","src":"3924:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3835:8:2","parameters":{"id":600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":595,"mutability":"mutable","name":"left","nameLocation":"3852:4:2","nodeType":"VariableDeclaration","scope":611,"src":"3844:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3844:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":597,"mutability":"mutable","name":"right","nameLocation":"3866:5:2","nodeType":"VariableDeclaration","scope":611,"src":"3858:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3858:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":599,"mutability":"mutable","name":"err","nameLocation":"3887:3:2","nodeType":"VariableDeclaration","scope":611,"src":"3873:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":598,"name":"string","nodeType":"ElementaryTypeName","src":"3873:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3843:48:2"},"returnParameters":{"id":601,"nodeType":"ParameterList","parameters":[],"src":"3914:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":624,"nodeType":"FunctionDefinition","src":"3966:109:2","nodes":[],"body":{"id":623,"nodeType":"Block","src":"4037:38:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":619,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"4056:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":620,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":615,"src":"4062:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":618,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[383,401,416,434,488,506,560,578,593,611,655,673,688,706,723,743,760,780,797,817,834,854,871,891,908,928,945,965],"referencedDeclaration":593,"src":"4047:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":622,"nodeType":"ExpressionStatement","src":"4047:21:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"3975:10:2","parameters":{"id":616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":613,"mutability":"mutable","name":"left","nameLocation":"3994:4:2","nodeType":"VariableDeclaration","scope":624,"src":"3986:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3986:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":615,"mutability":"mutable","name":"right","nameLocation":"4008:5:2","nodeType":"VariableDeclaration","scope":624,"src":"4000:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4000:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3985:29:2"},"returnParameters":{"id":617,"nodeType":"ParameterList","parameters":[],"src":"4037:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":640,"nodeType":"FunctionDefinition","src":"4081:133:2","nodes":[],"body":{"id":639,"nodeType":"Block","src":"4171:43:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":634,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":626,"src":"4190:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":635,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":628,"src":"4196:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":636,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"4203:3:2","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":633,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[383,401,416,434,488,506,560,578,593,611,655,673,688,706,723,743,760,780,797,817,834,854,871,891,908,928,945,965],"referencedDeclaration":611,"src":"4181:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4181:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":638,"nodeType":"ExpressionStatement","src":"4181:26:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4090:10:2","parameters":{"id":631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":626,"mutability":"mutable","name":"left","nameLocation":"4109:4:2","nodeType":"VariableDeclaration","scope":640,"src":"4101:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":625,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4101:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":628,"mutability":"mutable","name":"right","nameLocation":"4123:5:2","nodeType":"VariableDeclaration","scope":640,"src":"4115:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4115:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":630,"mutability":"mutable","name":"err","nameLocation":"4144:3:2","nodeType":"VariableDeclaration","scope":640,"src":"4130:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":629,"name":"string","nodeType":"ElementaryTypeName","src":"4130:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4100:48:2"},"returnParameters":{"id":632,"nodeType":"ParameterList","parameters":[],"src":"4171:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":655,"nodeType":"FunctionDefinition","src":"4220:122:2","nodes":[],"body":{"id":654,"nodeType":"Block","src":"4301:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":650,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":642,"src":"4323:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":651,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":644,"src":"4329:5:2","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":647,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"4311:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4314:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13899,"src":"4311:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4311:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":653,"nodeType":"ExpressionStatement","src":"4311:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4229:8:2","parameters":{"id":645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":642,"mutability":"mutable","name":"left","nameLocation":"4252:4:2","nodeType":"VariableDeclaration","scope":655,"src":"4238:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":641,"name":"string","nodeType":"ElementaryTypeName","src":"4238:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":644,"mutability":"mutable","name":"right","nameLocation":"4272:5:2","nodeType":"VariableDeclaration","scope":655,"src":"4258:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":643,"name":"string","nodeType":"ElementaryTypeName","src":"4258:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4237:41:2"},"returnParameters":{"id":646,"nodeType":"ParameterList","parameters":[],"src":"4301:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":673,"nodeType":"FunctionDefinition","src":"4348:146:2","nodes":[],"body":{"id":672,"nodeType":"Block","src":"4448:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":667,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"4470:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":668,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"4476:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":669,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":661,"src":"4483:3:2","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":664,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"4458:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4461:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13909,"src":"4458:11:2","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":670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4458:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":671,"nodeType":"ExpressionStatement","src":"4458:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4357:8:2","parameters":{"id":662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":657,"mutability":"mutable","name":"left","nameLocation":"4380:4:2","nodeType":"VariableDeclaration","scope":673,"src":"4366:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":656,"name":"string","nodeType":"ElementaryTypeName","src":"4366:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"right","nameLocation":"4400:5:2","nodeType":"VariableDeclaration","scope":673,"src":"4386:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":658,"name":"string","nodeType":"ElementaryTypeName","src":"4386:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":661,"mutability":"mutable","name":"err","nameLocation":"4421:3:2","nodeType":"VariableDeclaration","scope":673,"src":"4407:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":660,"name":"string","nodeType":"ElementaryTypeName","src":"4407:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4365:60:2"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"4448:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":688,"nodeType":"FunctionDefinition","src":"4500:120:2","nodes":[],"body":{"id":687,"nodeType":"Block","src":"4579:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":683,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":675,"src":"4601:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":684,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":677,"src":"4607:5:2","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":680,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"4589:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4592:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13917,"src":"4589:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4589:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":686,"nodeType":"ExpressionStatement","src":"4589:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4509:8:2","parameters":{"id":678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":675,"mutability":"mutable","name":"left","nameLocation":"4531:4:2","nodeType":"VariableDeclaration","scope":688,"src":"4518:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":674,"name":"bytes","nodeType":"ElementaryTypeName","src":"4518:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":677,"mutability":"mutable","name":"right","nameLocation":"4550:5:2","nodeType":"VariableDeclaration","scope":688,"src":"4537:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":676,"name":"bytes","nodeType":"ElementaryTypeName","src":"4537:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4517:39:2"},"returnParameters":{"id":679,"nodeType":"ParameterList","parameters":[],"src":"4579:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":706,"nodeType":"FunctionDefinition","src":"4626:144:2","nodes":[],"body":{"id":705,"nodeType":"Block","src":"4724:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":700,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":690,"src":"4746:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":701,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":692,"src":"4752:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":702,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":694,"src":"4759:3:2","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":697,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"4734:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4737:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13927,"src":"4734:11:2","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":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4734:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":704,"nodeType":"ExpressionStatement","src":"4734:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4635:8:2","parameters":{"id":695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":690,"mutability":"mutable","name":"left","nameLocation":"4657:4:2","nodeType":"VariableDeclaration","scope":706,"src":"4644:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":689,"name":"bytes","nodeType":"ElementaryTypeName","src":"4644:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":692,"mutability":"mutable","name":"right","nameLocation":"4676:5:2","nodeType":"VariableDeclaration","scope":706,"src":"4663:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":691,"name":"bytes","nodeType":"ElementaryTypeName","src":"4663:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":694,"mutability":"mutable","name":"err","nameLocation":"4697:3:2","nodeType":"VariableDeclaration","scope":706,"src":"4683:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":693,"name":"string","nodeType":"ElementaryTypeName","src":"4683:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4643:58:2"},"returnParameters":{"id":696,"nodeType":"ParameterList","parameters":[],"src":"4724:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":723,"nodeType":"FunctionDefinition","src":"4776:122:2","nodes":[],"body":{"id":722,"nodeType":"Block","src":"4857:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":718,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"4879:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":719,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":712,"src":"4885:5:2","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":715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"4867:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4870:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13937,"src":"4867:11:2","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":720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4867:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":721,"nodeType":"ExpressionStatement","src":"4867:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4785:8:2","parameters":{"id":713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":709,"mutability":"mutable","name":"left","nameLocation":"4808:4:2","nodeType":"VariableDeclaration","scope":723,"src":"4794:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":707,"name":"bool","nodeType":"ElementaryTypeName","src":"4794:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"ArrayTypeName","src":"4794:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":712,"mutability":"mutable","name":"right","nameLocation":"4828:5:2","nodeType":"VariableDeclaration","scope":723,"src":"4814:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":710,"name":"bool","nodeType":"ElementaryTypeName","src":"4814:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":711,"nodeType":"ArrayTypeName","src":"4814:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4793:41:2"},"returnParameters":{"id":714,"nodeType":"ParameterList","parameters":[],"src":"4857:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":743,"nodeType":"FunctionDefinition","src":"4904:146:2","nodes":[],"body":{"id":742,"nodeType":"Block","src":"5004:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":737,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":726,"src":"5026:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":738,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"5032:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":739,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"5039:3:2","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":734,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5014:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5017:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13949,"src":"5014:11:2","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":740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5014:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":741,"nodeType":"ExpressionStatement","src":"5014:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4913:8:2","parameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":726,"mutability":"mutable","name":"left","nameLocation":"4936:4:2","nodeType":"VariableDeclaration","scope":743,"src":"4922:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":724,"name":"bool","nodeType":"ElementaryTypeName","src":"4922:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":725,"nodeType":"ArrayTypeName","src":"4922:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":729,"mutability":"mutable","name":"right","nameLocation":"4956:5:2","nodeType":"VariableDeclaration","scope":743,"src":"4942:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":727,"name":"bool","nodeType":"ElementaryTypeName","src":"4942:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":728,"nodeType":"ArrayTypeName","src":"4942:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":731,"mutability":"mutable","name":"err","nameLocation":"4977:3:2","nodeType":"VariableDeclaration","scope":743,"src":"4963:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":730,"name":"string","nodeType":"ElementaryTypeName","src":"4963:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4921:60:2"},"returnParameters":{"id":733,"nodeType":"ParameterList","parameters":[],"src":"5004:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":760,"nodeType":"FunctionDefinition","src":"5056:128:2","nodes":[],"body":{"id":759,"nodeType":"Block","src":"5143:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":755,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"5165:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":756,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":749,"src":"5171:5:2","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":752,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5153:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5156:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13959,"src":"5153:11:2","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":757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5153:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":758,"nodeType":"ExpressionStatement","src":"5153:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5065:8:2","parameters":{"id":750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":746,"mutability":"mutable","name":"left","nameLocation":"5091:4:2","nodeType":"VariableDeclaration","scope":760,"src":"5074:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":744,"name":"uint256","nodeType":"ElementaryTypeName","src":"5074:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":745,"nodeType":"ArrayTypeName","src":"5074:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":749,"mutability":"mutable","name":"right","nameLocation":"5114:5:2","nodeType":"VariableDeclaration","scope":760,"src":"5097:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":747,"name":"uint256","nodeType":"ElementaryTypeName","src":"5097:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ArrayTypeName","src":"5097:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5073:47:2"},"returnParameters":{"id":751,"nodeType":"ParameterList","parameters":[],"src":"5143:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":780,"nodeType":"FunctionDefinition","src":"5190:152:2","nodes":[],"body":{"id":779,"nodeType":"Block","src":"5296:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":774,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":763,"src":"5318:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":775,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":766,"src":"5324:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":776,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"5331:3:2","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":771,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5306:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5309:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13971,"src":"5306:11:2","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":777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5306:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":778,"nodeType":"ExpressionStatement","src":"5306:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5199:8:2","parameters":{"id":769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":763,"mutability":"mutable","name":"left","nameLocation":"5225:4:2","nodeType":"VariableDeclaration","scope":780,"src":"5208:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":761,"name":"uint256","nodeType":"ElementaryTypeName","src":"5208:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":762,"nodeType":"ArrayTypeName","src":"5208:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":766,"mutability":"mutable","name":"right","nameLocation":"5248:5:2","nodeType":"VariableDeclaration","scope":780,"src":"5231:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":764,"name":"uint256","nodeType":"ElementaryTypeName","src":"5231:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":765,"nodeType":"ArrayTypeName","src":"5231:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":768,"mutability":"mutable","name":"err","nameLocation":"5269:3:2","nodeType":"VariableDeclaration","scope":780,"src":"5255:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":767,"name":"string","nodeType":"ElementaryTypeName","src":"5255:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5207:66:2"},"returnParameters":{"id":770,"nodeType":"ParameterList","parameters":[],"src":"5296:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":797,"nodeType":"FunctionDefinition","src":"5348:126:2","nodes":[],"body":{"id":796,"nodeType":"Block","src":"5433:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":792,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":783,"src":"5455:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":793,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":786,"src":"5461:5:2","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":789,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5443:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5446:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13981,"src":"5443:11:2","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":794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5443:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":795,"nodeType":"ExpressionStatement","src":"5443:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5357:8:2","parameters":{"id":787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":783,"mutability":"mutable","name":"left","nameLocation":"5382:4:2","nodeType":"VariableDeclaration","scope":797,"src":"5366:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":781,"name":"int256","nodeType":"ElementaryTypeName","src":"5366:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":782,"nodeType":"ArrayTypeName","src":"5366:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":786,"mutability":"mutable","name":"right","nameLocation":"5404:5:2","nodeType":"VariableDeclaration","scope":797,"src":"5388:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":784,"name":"int256","nodeType":"ElementaryTypeName","src":"5388:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":785,"nodeType":"ArrayTypeName","src":"5388:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"5365:45:2"},"returnParameters":{"id":788,"nodeType":"ParameterList","parameters":[],"src":"5433:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":817,"nodeType":"FunctionDefinition","src":"5480:150:2","nodes":[],"body":{"id":816,"nodeType":"Block","src":"5584:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":811,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":800,"src":"5606:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":812,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":803,"src":"5612:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":813,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":805,"src":"5619:3:2","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":808,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5594:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5597:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":13993,"src":"5594:11:2","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":814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5594:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":815,"nodeType":"ExpressionStatement","src":"5594:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5489:8:2","parameters":{"id":806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":800,"mutability":"mutable","name":"left","nameLocation":"5514:4:2","nodeType":"VariableDeclaration","scope":817,"src":"5498:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":798,"name":"int256","nodeType":"ElementaryTypeName","src":"5498:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":799,"nodeType":"ArrayTypeName","src":"5498:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":803,"mutability":"mutable","name":"right","nameLocation":"5536:5:2","nodeType":"VariableDeclaration","scope":817,"src":"5520:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":801,"name":"int256","nodeType":"ElementaryTypeName","src":"5520:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":802,"nodeType":"ArrayTypeName","src":"5520:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":805,"mutability":"mutable","name":"err","nameLocation":"5557:3:2","nodeType":"VariableDeclaration","scope":817,"src":"5543:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":804,"name":"string","nodeType":"ElementaryTypeName","src":"5543:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5497:64:2"},"returnParameters":{"id":807,"nodeType":"ParameterList","parameters":[],"src":"5584:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":834,"nodeType":"FunctionDefinition","src":"5636:128:2","nodes":[],"body":{"id":833,"nodeType":"Block","src":"5723:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":829,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":820,"src":"5745:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":830,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":823,"src":"5751:5:2","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":826,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5733:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5736:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14011,"src":"5733:11:2","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":831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5733:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":832,"nodeType":"ExpressionStatement","src":"5733:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5645:8:2","parameters":{"id":824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":820,"mutability":"mutable","name":"left","nameLocation":"5671:4:2","nodeType":"VariableDeclaration","scope":834,"src":"5654:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":818,"name":"address","nodeType":"ElementaryTypeName","src":"5654:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":819,"nodeType":"ArrayTypeName","src":"5654:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":823,"mutability":"mutable","name":"right","nameLocation":"5694:5:2","nodeType":"VariableDeclaration","scope":834,"src":"5677:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":821,"name":"address","nodeType":"ElementaryTypeName","src":"5677:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":822,"nodeType":"ArrayTypeName","src":"5677:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5653:47:2"},"returnParameters":{"id":825,"nodeType":"ParameterList","parameters":[],"src":"5723:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":854,"nodeType":"FunctionDefinition","src":"5770:152:2","nodes":[],"body":{"id":853,"nodeType":"Block","src":"5876:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":848,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":837,"src":"5898:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":849,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":840,"src":"5904:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":850,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":842,"src":"5911:3:2","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":845,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"5886:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5889:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14023,"src":"5886:11:2","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":851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5886:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":852,"nodeType":"ExpressionStatement","src":"5886:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5779:8:2","parameters":{"id":843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":837,"mutability":"mutable","name":"left","nameLocation":"5805:4:2","nodeType":"VariableDeclaration","scope":854,"src":"5788:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":835,"name":"address","nodeType":"ElementaryTypeName","src":"5788:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":836,"nodeType":"ArrayTypeName","src":"5788:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":840,"mutability":"mutable","name":"right","nameLocation":"5828:5:2","nodeType":"VariableDeclaration","scope":854,"src":"5811:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":838,"name":"address","nodeType":"ElementaryTypeName","src":"5811:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":839,"nodeType":"ArrayTypeName","src":"5811:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":842,"mutability":"mutable","name":"err","nameLocation":"5849:3:2","nodeType":"VariableDeclaration","scope":854,"src":"5835:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":841,"name":"string","nodeType":"ElementaryTypeName","src":"5835:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5787:66:2"},"returnParameters":{"id":844,"nodeType":"ParameterList","parameters":[],"src":"5876:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":871,"nodeType":"FunctionDefinition","src":"5928:128:2","nodes":[],"body":{"id":870,"nodeType":"Block","src":"6015:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":866,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":857,"src":"6037:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":867,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":860,"src":"6043:5:2","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":863,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"6025:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6028:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14033,"src":"6025:11:2","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":868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6025:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":869,"nodeType":"ExpressionStatement","src":"6025:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5937:8:2","parameters":{"id":861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":857,"mutability":"mutable","name":"left","nameLocation":"5963:4:2","nodeType":"VariableDeclaration","scope":871,"src":"5946:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5946:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":856,"nodeType":"ArrayTypeName","src":"5946:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":860,"mutability":"mutable","name":"right","nameLocation":"5986:5:2","nodeType":"VariableDeclaration","scope":871,"src":"5969:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5969:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":859,"nodeType":"ArrayTypeName","src":"5969:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5945:47:2"},"returnParameters":{"id":862,"nodeType":"ParameterList","parameters":[],"src":"6015:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":891,"nodeType":"FunctionDefinition","src":"6062:152:2","nodes":[],"body":{"id":890,"nodeType":"Block","src":"6168:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":885,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":874,"src":"6190:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":886,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":877,"src":"6196:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":887,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":879,"src":"6203:3:2","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":882,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"6178:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6181:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14045,"src":"6178:11:2","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":888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6178:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":889,"nodeType":"ExpressionStatement","src":"6178:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6071:8:2","parameters":{"id":880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":874,"mutability":"mutable","name":"left","nameLocation":"6097:4:2","nodeType":"VariableDeclaration","scope":891,"src":"6080:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6080:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":873,"nodeType":"ArrayTypeName","src":"6080:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":877,"mutability":"mutable","name":"right","nameLocation":"6120:5:2","nodeType":"VariableDeclaration","scope":891,"src":"6103:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6103:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":876,"nodeType":"ArrayTypeName","src":"6103:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":879,"mutability":"mutable","name":"err","nameLocation":"6141:3:2","nodeType":"VariableDeclaration","scope":891,"src":"6127:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":878,"name":"string","nodeType":"ElementaryTypeName","src":"6127:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6079:66:2"},"returnParameters":{"id":881,"nodeType":"ParameterList","parameters":[],"src":"6168:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":908,"nodeType":"FunctionDefinition","src":"6220:126:2","nodes":[],"body":{"id":907,"nodeType":"Block","src":"6305:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":903,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"6327:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":904,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":897,"src":"6333:5:2","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":900,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"6315:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6318:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14055,"src":"6315:11:2","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":905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6315:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":906,"nodeType":"ExpressionStatement","src":"6315:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6229:8:2","parameters":{"id":898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":894,"mutability":"mutable","name":"left","nameLocation":"6254:4:2","nodeType":"VariableDeclaration","scope":908,"src":"6238:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":892,"name":"string","nodeType":"ElementaryTypeName","src":"6238:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":893,"nodeType":"ArrayTypeName","src":"6238:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":897,"mutability":"mutable","name":"right","nameLocation":"6276:5:2","nodeType":"VariableDeclaration","scope":908,"src":"6260:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":895,"name":"string","nodeType":"ElementaryTypeName","src":"6260:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":896,"nodeType":"ArrayTypeName","src":"6260:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"6237:45:2"},"returnParameters":{"id":899,"nodeType":"ParameterList","parameters":[],"src":"6305:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":928,"nodeType":"FunctionDefinition","src":"6352:150:2","nodes":[],"body":{"id":927,"nodeType":"Block","src":"6456:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":922,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"6478:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":923,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"6484:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":924,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":916,"src":"6491:3:2","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":919,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"6466:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6469:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14067,"src":"6466:11:2","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":925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6466:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":926,"nodeType":"ExpressionStatement","src":"6466:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6361:8:2","parameters":{"id":917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":911,"mutability":"mutable","name":"left","nameLocation":"6386:4:2","nodeType":"VariableDeclaration","scope":928,"src":"6370:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":909,"name":"string","nodeType":"ElementaryTypeName","src":"6370:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":910,"nodeType":"ArrayTypeName","src":"6370:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":914,"mutability":"mutable","name":"right","nameLocation":"6408:5:2","nodeType":"VariableDeclaration","scope":928,"src":"6392:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":912,"name":"string","nodeType":"ElementaryTypeName","src":"6392:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":913,"nodeType":"ArrayTypeName","src":"6392:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":916,"mutability":"mutable","name":"err","nameLocation":"6429:3:2","nodeType":"VariableDeclaration","scope":928,"src":"6415:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":915,"name":"string","nodeType":"ElementaryTypeName","src":"6415:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6369:64:2"},"returnParameters":{"id":918,"nodeType":"ParameterList","parameters":[],"src":"6456:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":945,"nodeType":"FunctionDefinition","src":"6508:124:2","nodes":[],"body":{"id":944,"nodeType":"Block","src":"6591:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":940,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":931,"src":"6613:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":941,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":934,"src":"6619:5:2","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":937,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"6601:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6604:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14077,"src":"6601:11:2","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":942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6601:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":943,"nodeType":"ExpressionStatement","src":"6601:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6517:8:2","parameters":{"id":935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":931,"mutability":"mutable","name":"left","nameLocation":"6541:4:2","nodeType":"VariableDeclaration","scope":945,"src":"6526:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"6526:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":930,"nodeType":"ArrayTypeName","src":"6526:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":934,"mutability":"mutable","name":"right","nameLocation":"6562:5:2","nodeType":"VariableDeclaration","scope":945,"src":"6547:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":932,"name":"bytes","nodeType":"ElementaryTypeName","src":"6547:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":933,"nodeType":"ArrayTypeName","src":"6547:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6525:43:2"},"returnParameters":{"id":936,"nodeType":"ParameterList","parameters":[],"src":"6591:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":965,"nodeType":"FunctionDefinition","src":"6638:148:2","nodes":[],"body":{"id":964,"nodeType":"Block","src":"6740:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":959,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":948,"src":"6762:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":960,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"6768:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":961,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":953,"src":"6775:3:2","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":956,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"6750:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6753:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":14089,"src":"6750:11:2","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":962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6750:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":963,"nodeType":"ExpressionStatement","src":"6750:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6647:8:2","parameters":{"id":954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":948,"mutability":"mutable","name":"left","nameLocation":"6671:4:2","nodeType":"VariableDeclaration","scope":965,"src":"6656:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":946,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":947,"nodeType":"ArrayTypeName","src":"6656:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":951,"mutability":"mutable","name":"right","nameLocation":"6692:5:2","nodeType":"VariableDeclaration","scope":965,"src":"6677:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":949,"name":"bytes","nodeType":"ElementaryTypeName","src":"6677:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":950,"nodeType":"ArrayTypeName","src":"6677:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":953,"mutability":"mutable","name":"err","nameLocation":"6713:3:2","nodeType":"VariableDeclaration","scope":965,"src":"6699:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":952,"name":"string","nodeType":"ElementaryTypeName","src":"6699:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6655:62:2"},"returnParameters":{"id":955,"nodeType":"ParameterList","parameters":[],"src":"6740:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":978,"nodeType":"FunctionDefinition","src":"6813:111:2","nodes":[],"body":{"id":977,"nodeType":"Block","src":"6886:38:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":973,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"6905:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":974,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":969,"src":"6911:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":972,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[383,401,416,434,488,506,560,578,593,611,655,673,688,706,723,743,760,780,797,817,834,854,871,891,908,928,945,965],"referencedDeclaration":416,"src":"6896:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6896:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":976,"nodeType":"ExpressionStatement","src":"6896:21:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"6822:12:2","parameters":{"id":970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":967,"mutability":"mutable","name":"left","nameLocation":"6843:4:2","nodeType":"VariableDeclaration","scope":978,"src":"6835:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":966,"name":"uint256","nodeType":"ElementaryTypeName","src":"6835:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":969,"mutability":"mutable","name":"right","nameLocation":"6857:5:2","nodeType":"VariableDeclaration","scope":978,"src":"6849:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":968,"name":"uint256","nodeType":"ElementaryTypeName","src":"6849:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6834:29:2"},"returnParameters":{"id":971,"nodeType":"ParameterList","parameters":[],"src":"6886:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":993,"nodeType":"FunctionDefinition","src":"6930:110:2","nodes":[],"body":{"id":992,"nodeType":"Block","src":"6996:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":988,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":980,"src":"7021:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":989,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":982,"src":"7027:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":985,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"7006:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7009:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14539,"src":"7006:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7006:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":991,"nodeType":"ExpressionStatement","src":"7006:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"6939:11:2","parameters":{"id":983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":980,"mutability":"mutable","name":"left","nameLocation":"6956:4:2","nodeType":"VariableDeclaration","scope":993,"src":"6951:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":979,"name":"bool","nodeType":"ElementaryTypeName","src":"6951:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":982,"mutability":"mutable","name":"right","nameLocation":"6967:5:2","nodeType":"VariableDeclaration","scope":993,"src":"6962:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":981,"name":"bool","nodeType":"ElementaryTypeName","src":"6962:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6950:23:2"},"returnParameters":{"id":984,"nodeType":"ParameterList","parameters":[],"src":"6996:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1011,"nodeType":"FunctionDefinition","src":"7046:134:2","nodes":[],"body":{"id":1010,"nodeType":"Block","src":"7131:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1005,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"7156:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1006,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"7162:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1007,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":999,"src":"7169:3:2","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":1002,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"7141:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7144:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14549,"src":"7141:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":1008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7141:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1009,"nodeType":"ExpressionStatement","src":"7141:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7055:11:2","parameters":{"id":1000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":995,"mutability":"mutable","name":"left","nameLocation":"7072:4:2","nodeType":"VariableDeclaration","scope":1011,"src":"7067:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":994,"name":"bool","nodeType":"ElementaryTypeName","src":"7067:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":997,"mutability":"mutable","name":"right","nameLocation":"7083:5:2","nodeType":"VariableDeclaration","scope":1011,"src":"7078:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":996,"name":"bool","nodeType":"ElementaryTypeName","src":"7078:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":999,"mutability":"mutable","name":"err","nameLocation":"7104:3:2","nodeType":"VariableDeclaration","scope":1011,"src":"7090:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":998,"name":"string","nodeType":"ElementaryTypeName","src":"7090:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7066:42:2"},"returnParameters":{"id":1001,"nodeType":"ParameterList","parameters":[],"src":"7131:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1026,"nodeType":"FunctionDefinition","src":"7186:116:2","nodes":[],"body":{"id":1025,"nodeType":"Block","src":"7258:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1021,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1013,"src":"7283:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1022,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1015,"src":"7289:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1018,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"7268:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7271:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14659,"src":"7268:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7268:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1024,"nodeType":"ExpressionStatement","src":"7268:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7195:11:2","parameters":{"id":1016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1013,"mutability":"mutable","name":"left","nameLocation":"7215:4:2","nodeType":"VariableDeclaration","scope":1026,"src":"7207:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1012,"name":"uint256","nodeType":"ElementaryTypeName","src":"7207:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1015,"mutability":"mutable","name":"right","nameLocation":"7229:5:2","nodeType":"VariableDeclaration","scope":1026,"src":"7221:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1014,"name":"uint256","nodeType":"ElementaryTypeName","src":"7221:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:29:2"},"returnParameters":{"id":1017,"nodeType":"ParameterList","parameters":[],"src":"7258:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1044,"nodeType":"FunctionDefinition","src":"7308:140:2","nodes":[],"body":{"id":1043,"nodeType":"Block","src":"7399:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1038,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1028,"src":"7424:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1039,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"7430:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1040,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"7437:3:2","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":1035,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"7409:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7412:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14757,"src":"7409:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7409:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1042,"nodeType":"ExpressionStatement","src":"7409:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7317:11:2","parameters":{"id":1033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1028,"mutability":"mutable","name":"left","nameLocation":"7337:4:2","nodeType":"VariableDeclaration","scope":1044,"src":"7329:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1027,"name":"uint256","nodeType":"ElementaryTypeName","src":"7329:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1030,"mutability":"mutable","name":"right","nameLocation":"7351:5:2","nodeType":"VariableDeclaration","scope":1044,"src":"7343:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1029,"name":"uint256","nodeType":"ElementaryTypeName","src":"7343:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1032,"mutability":"mutable","name":"err","nameLocation":"7372:3:2","nodeType":"VariableDeclaration","scope":1044,"src":"7358:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1031,"name":"string","nodeType":"ElementaryTypeName","src":"7358:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7328:48:2"},"returnParameters":{"id":1034,"nodeType":"ParameterList","parameters":[],"src":"7399:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1062,"nodeType":"FunctionDefinition","src":"7454:158:2","nodes":[],"body":{"id":1061,"nodeType":"Block","src":"7551:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1056,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"7583:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1057,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1048,"src":"7589:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1058,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"7596:8:2","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":1053,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"7561:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7564:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14497,"src":"7561:21:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7561:44:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1060,"nodeType":"ExpressionStatement","src":"7561:44:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7463:18:2","parameters":{"id":1051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1046,"mutability":"mutable","name":"left","nameLocation":"7490:4:2","nodeType":"VariableDeclaration","scope":1062,"src":"7482:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1045,"name":"uint256","nodeType":"ElementaryTypeName","src":"7482:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1048,"mutability":"mutable","name":"right","nameLocation":"7504:5:2","nodeType":"VariableDeclaration","scope":1062,"src":"7496:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1047,"name":"uint256","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1050,"mutability":"mutable","name":"decimals","nameLocation":"7519:8:2","nodeType":"VariableDeclaration","scope":1062,"src":"7511:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1049,"name":"uint256","nodeType":"ElementaryTypeName","src":"7511:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7481:47:2"},"returnParameters":{"id":1052,"nodeType":"ParameterList","parameters":[],"src":"7551:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1083,"nodeType":"FunctionDefinition","src":"7618:210:2","nodes":[],"body":{"id":1082,"nodeType":"Block","src":"7762:66:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1076,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1064,"src":"7794:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1077,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7800:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1078,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1068,"src":"7807:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1079,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1070,"src":"7817:3:2","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":1073,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"7772:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7775:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14509,"src":"7772:21:2","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":1080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7772:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1081,"nodeType":"ExpressionStatement","src":"7772:49:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7627:18:2","parameters":{"id":1071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1064,"mutability":"mutable","name":"left","nameLocation":"7654:4:2","nodeType":"VariableDeclaration","scope":1083,"src":"7646:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1063,"name":"uint256","nodeType":"ElementaryTypeName","src":"7646:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1066,"mutability":"mutable","name":"right","nameLocation":"7668:5:2","nodeType":"VariableDeclaration","scope":1083,"src":"7660:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1065,"name":"uint256","nodeType":"ElementaryTypeName","src":"7660:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1068,"mutability":"mutable","name":"decimals","nameLocation":"7683:8:2","nodeType":"VariableDeclaration","scope":1083,"src":"7675:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1067,"name":"uint256","nodeType":"ElementaryTypeName","src":"7675:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1070,"mutability":"mutable","name":"err","nameLocation":"7707:3:2","nodeType":"VariableDeclaration","scope":1083,"src":"7693:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1069,"name":"string","nodeType":"ElementaryTypeName","src":"7693:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7645:66:2"},"returnParameters":{"id":1072,"nodeType":"ParameterList","parameters":[],"src":"7762:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1098,"nodeType":"FunctionDefinition","src":"7834:114:2","nodes":[],"body":{"id":1097,"nodeType":"Block","src":"7904:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1093,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1085,"src":"7929:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1094,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1087,"src":"7935:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1090,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"7914:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7917:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14765,"src":"7914:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7914:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1096,"nodeType":"ExpressionStatement","src":"7914:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7843:11:2","parameters":{"id":1088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1085,"mutability":"mutable","name":"left","nameLocation":"7862:4:2","nodeType":"VariableDeclaration","scope":1098,"src":"7855:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1084,"name":"int256","nodeType":"ElementaryTypeName","src":"7855:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1087,"mutability":"mutable","name":"right","nameLocation":"7875:5:2","nodeType":"VariableDeclaration","scope":1098,"src":"7868:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1086,"name":"int256","nodeType":"ElementaryTypeName","src":"7868:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7854:27:2"},"returnParameters":{"id":1089,"nodeType":"ParameterList","parameters":[],"src":"7904:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1116,"nodeType":"FunctionDefinition","src":"7954:138:2","nodes":[],"body":{"id":1115,"nodeType":"Block","src":"8043:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1110,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1100,"src":"8068:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1111,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1102,"src":"8074:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1112,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1104,"src":"8081:3:2","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":1107,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"8053:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8056:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14775,"src":"8053:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8053:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"8053:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7963:11:2","parameters":{"id":1105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1100,"mutability":"mutable","name":"left","nameLocation":"7982:4:2","nodeType":"VariableDeclaration","scope":1116,"src":"7975:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1099,"name":"int256","nodeType":"ElementaryTypeName","src":"7975:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1102,"mutability":"mutable","name":"right","nameLocation":"7995:5:2","nodeType":"VariableDeclaration","scope":1116,"src":"7988:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1101,"name":"int256","nodeType":"ElementaryTypeName","src":"7988:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1104,"mutability":"mutable","name":"err","nameLocation":"8016:3:2","nodeType":"VariableDeclaration","scope":1116,"src":"8002:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1103,"name":"string","nodeType":"ElementaryTypeName","src":"8002:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7974:46:2"},"returnParameters":{"id":1106,"nodeType":"ParameterList","parameters":[],"src":"8043:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1134,"nodeType":"FunctionDefinition","src":"8098:156:2","nodes":[],"body":{"id":1133,"nodeType":"Block","src":"8193:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1128,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1118,"src":"8225:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1129,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1120,"src":"8231:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1130,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"8238:8:2","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":1125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"8203:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8206:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14519,"src":"8203:21:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8203:44:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1132,"nodeType":"ExpressionStatement","src":"8203:44:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8107:18:2","parameters":{"id":1123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1118,"mutability":"mutable","name":"left","nameLocation":"8133:4:2","nodeType":"VariableDeclaration","scope":1134,"src":"8126:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1117,"name":"int256","nodeType":"ElementaryTypeName","src":"8126:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1120,"mutability":"mutable","name":"right","nameLocation":"8146:5:2","nodeType":"VariableDeclaration","scope":1134,"src":"8139:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1119,"name":"int256","nodeType":"ElementaryTypeName","src":"8139:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1122,"mutability":"mutable","name":"decimals","nameLocation":"8161:8:2","nodeType":"VariableDeclaration","scope":1134,"src":"8153:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1121,"name":"uint256","nodeType":"ElementaryTypeName","src":"8153:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8125:45:2"},"returnParameters":{"id":1124,"nodeType":"ParameterList","parameters":[],"src":"8193:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1155,"nodeType":"FunctionDefinition","src":"8260:180:2","nodes":[],"body":{"id":1154,"nodeType":"Block","src":"8374:66:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1148,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1136,"src":"8406:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1149,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"8412:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1150,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"8419:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1151,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1142,"src":"8429:3:2","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":1145,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"8384:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8387:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":14531,"src":"8384:21:2","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":1152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1153,"nodeType":"ExpressionStatement","src":"8384:49:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8269:18:2","parameters":{"id":1143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1136,"mutability":"mutable","name":"left","nameLocation":"8295:4:2","nodeType":"VariableDeclaration","scope":1155,"src":"8288:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1135,"name":"int256","nodeType":"ElementaryTypeName","src":"8288:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1138,"mutability":"mutable","name":"right","nameLocation":"8308:5:2","nodeType":"VariableDeclaration","scope":1155,"src":"8301:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1137,"name":"int256","nodeType":"ElementaryTypeName","src":"8301:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"decimals","nameLocation":"8323:8:2","nodeType":"VariableDeclaration","scope":1155,"src":"8315:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1139,"name":"uint256","nodeType":"ElementaryTypeName","src":"8315:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1142,"mutability":"mutable","name":"err","nameLocation":"8347:3:2","nodeType":"VariableDeclaration","scope":1155,"src":"8333:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1141,"name":"string","nodeType":"ElementaryTypeName","src":"8333:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8287:64:2"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[],"src":"8374:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1170,"nodeType":"FunctionDefinition","src":"8446:116:2","nodes":[],"body":{"id":1169,"nodeType":"Block","src":"8518:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1165,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"8543:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1166,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"8549:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1162,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"8528:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8531:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14783,"src":"8528:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":1167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8528:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1168,"nodeType":"ExpressionStatement","src":"8528:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8455:11:2","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"left","nameLocation":"8475:4:2","nodeType":"VariableDeclaration","scope":1170,"src":"8467:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1156,"name":"address","nodeType":"ElementaryTypeName","src":"8467:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"right","nameLocation":"8489:5:2","nodeType":"VariableDeclaration","scope":1170,"src":"8481:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"8481:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8466:29:2"},"returnParameters":{"id":1161,"nodeType":"ParameterList","parameters":[],"src":"8518:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1188,"nodeType":"FunctionDefinition","src":"8568:140:2","nodes":[],"body":{"id":1187,"nodeType":"Block","src":"8659:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1182,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1172,"src":"8684:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1183,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1174,"src":"8690:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1184,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1176,"src":"8697:3:2","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":1179,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"8669:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8672:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14793,"src":"8669:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":1185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8669:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1186,"nodeType":"ExpressionStatement","src":"8669:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8577:11:2","parameters":{"id":1177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1172,"mutability":"mutable","name":"left","nameLocation":"8597:4:2","nodeType":"VariableDeclaration","scope":1188,"src":"8589:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1171,"name":"address","nodeType":"ElementaryTypeName","src":"8589:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1174,"mutability":"mutable","name":"right","nameLocation":"8611:5:2","nodeType":"VariableDeclaration","scope":1188,"src":"8603:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1173,"name":"address","nodeType":"ElementaryTypeName","src":"8603:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1176,"mutability":"mutable","name":"err","nameLocation":"8632:3:2","nodeType":"VariableDeclaration","scope":1188,"src":"8618:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1175,"name":"string","nodeType":"ElementaryTypeName","src":"8618:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8588:48:2"},"returnParameters":{"id":1178,"nodeType":"ParameterList","parameters":[],"src":"8659:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1203,"nodeType":"FunctionDefinition","src":"8714:116:2","nodes":[],"body":{"id":1202,"nodeType":"Block","src":"8786:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1198,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8811:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1199,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1192,"src":"8817:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"8796:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8799:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14801,"src":"8796:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8796:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1201,"nodeType":"ExpressionStatement","src":"8796:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8723:11:2","parameters":{"id":1193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1190,"mutability":"mutable","name":"left","nameLocation":"8743:4:2","nodeType":"VariableDeclaration","scope":1203,"src":"8735:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8735:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1192,"mutability":"mutable","name":"right","nameLocation":"8757:5:2","nodeType":"VariableDeclaration","scope":1203,"src":"8749:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8749:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8734:29:2"},"returnParameters":{"id":1194,"nodeType":"ParameterList","parameters":[],"src":"8786:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1221,"nodeType":"FunctionDefinition","src":"8836:140:2","nodes":[],"body":{"id":1220,"nodeType":"Block","src":"8927:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1215,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"8952:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1216,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1207,"src":"8958:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1217,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1209,"src":"8965:3:2","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":1212,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"8937:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8940:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14811,"src":"8937:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8937:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"ExpressionStatement","src":"8937:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8845:11:2","parameters":{"id":1210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1205,"mutability":"mutable","name":"left","nameLocation":"8865:4:2","nodeType":"VariableDeclaration","scope":1221,"src":"8857:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8857:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1207,"mutability":"mutable","name":"right","nameLocation":"8879:5:2","nodeType":"VariableDeclaration","scope":1221,"src":"8871:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8871:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1209,"mutability":"mutable","name":"err","nameLocation":"8900:3:2","nodeType":"VariableDeclaration","scope":1221,"src":"8886:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1208,"name":"string","nodeType":"ElementaryTypeName","src":"8886:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8856:48:2"},"returnParameters":{"id":1211,"nodeType":"ParameterList","parameters":[],"src":"8927:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1234,"nodeType":"FunctionDefinition","src":"8982:115:2","nodes":[],"body":{"id":1233,"nodeType":"Block","src":"9056:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1229,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1223,"src":"9078:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1230,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1225,"src":"9084:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1228,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[993,1011,1026,1044,1098,1116,1170,1188,1203,1221,1265,1283,1298,1316,1333,1353,1370,1390,1407,1427,1444,1464,1481,1501,1518,1538,1555,1575],"referencedDeclaration":1203,"src":"9066:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9066:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1232,"nodeType":"ExpressionStatement","src":"9066:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"8991:13:2","parameters":{"id":1226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1223,"mutability":"mutable","name":"left","nameLocation":"9013:4:2","nodeType":"VariableDeclaration","scope":1234,"src":"9005:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9005:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1225,"mutability":"mutable","name":"right","nameLocation":"9027:5:2","nodeType":"VariableDeclaration","scope":1234,"src":"9019:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9019:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9004:29:2"},"returnParameters":{"id":1227,"nodeType":"ParameterList","parameters":[],"src":"9056:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1250,"nodeType":"FunctionDefinition","src":"9103:139:2","nodes":[],"body":{"id":1249,"nodeType":"Block","src":"9196:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1244,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1236,"src":"9218:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1245,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1238,"src":"9224:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1246,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1240,"src":"9231:3:2","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":1243,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[993,1011,1026,1044,1098,1116,1170,1188,1203,1221,1265,1283,1298,1316,1333,1353,1370,1390,1407,1427,1444,1464,1481,1501,1518,1538,1555,1575],"referencedDeclaration":1221,"src":"9206:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":1247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9206:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1248,"nodeType":"ExpressionStatement","src":"9206:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"9112:13:2","parameters":{"id":1241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1236,"mutability":"mutable","name":"left","nameLocation":"9134:4:2","nodeType":"VariableDeclaration","scope":1250,"src":"9126:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9126:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1238,"mutability":"mutable","name":"right","nameLocation":"9148:5:2","nodeType":"VariableDeclaration","scope":1250,"src":"9140:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9140:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1240,"mutability":"mutable","name":"err","nameLocation":"9169:3:2","nodeType":"VariableDeclaration","scope":1250,"src":"9155:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1239,"name":"string","nodeType":"ElementaryTypeName","src":"9155:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9125:48:2"},"returnParameters":{"id":1242,"nodeType":"ParameterList","parameters":[],"src":"9196:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1265,"nodeType":"FunctionDefinition","src":"9248:128:2","nodes":[],"body":{"id":1264,"nodeType":"Block","src":"9332:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1260,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"9357:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1261,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1254,"src":"9363:5:2","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":1257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"9342:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9345:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14557,"src":"9342:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":1262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9342:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1263,"nodeType":"ExpressionStatement","src":"9342:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9257:11:2","parameters":{"id":1255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1252,"mutability":"mutable","name":"left","nameLocation":"9283:4:2","nodeType":"VariableDeclaration","scope":1265,"src":"9269:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1251,"name":"string","nodeType":"ElementaryTypeName","src":"9269:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1254,"mutability":"mutable","name":"right","nameLocation":"9303:5:2","nodeType":"VariableDeclaration","scope":1265,"src":"9289:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1253,"name":"string","nodeType":"ElementaryTypeName","src":"9289:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9268:41:2"},"returnParameters":{"id":1256,"nodeType":"ParameterList","parameters":[],"src":"9332:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1283,"nodeType":"FunctionDefinition","src":"9382:152:2","nodes":[],"body":{"id":1282,"nodeType":"Block","src":"9485:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1277,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"9510:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1278,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1269,"src":"9516:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1279,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1271,"src":"9523:3:2","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":1274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"9495:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9498:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14567,"src":"9495:14:2","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":1280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9495:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1281,"nodeType":"ExpressionStatement","src":"9495:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9391:11:2","parameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1267,"mutability":"mutable","name":"left","nameLocation":"9417:4:2","nodeType":"VariableDeclaration","scope":1283,"src":"9403:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1266,"name":"string","nodeType":"ElementaryTypeName","src":"9403:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1269,"mutability":"mutable","name":"right","nameLocation":"9437:5:2","nodeType":"VariableDeclaration","scope":1283,"src":"9423:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1268,"name":"string","nodeType":"ElementaryTypeName","src":"9423:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1271,"mutability":"mutable","name":"err","nameLocation":"9458:3:2","nodeType":"VariableDeclaration","scope":1283,"src":"9444:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1270,"name":"string","nodeType":"ElementaryTypeName","src":"9444:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9402:60:2"},"returnParameters":{"id":1273,"nodeType":"ParameterList","parameters":[],"src":"9485:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1298,"nodeType":"FunctionDefinition","src":"9540:126:2","nodes":[],"body":{"id":1297,"nodeType":"Block","src":"9622:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1293,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"9647:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1294,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1287,"src":"9653:5:2","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":1290,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"9632:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9635:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14575,"src":"9632:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9632:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1296,"nodeType":"ExpressionStatement","src":"9632:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9549:11:2","parameters":{"id":1288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1285,"mutability":"mutable","name":"left","nameLocation":"9574:4:2","nodeType":"VariableDeclaration","scope":1298,"src":"9561:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1284,"name":"bytes","nodeType":"ElementaryTypeName","src":"9561:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1287,"mutability":"mutable","name":"right","nameLocation":"9593:5:2","nodeType":"VariableDeclaration","scope":1298,"src":"9580:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1286,"name":"bytes","nodeType":"ElementaryTypeName","src":"9580:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9560:39:2"},"returnParameters":{"id":1289,"nodeType":"ParameterList","parameters":[],"src":"9622:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1316,"nodeType":"FunctionDefinition","src":"9672:150:2","nodes":[],"body":{"id":1315,"nodeType":"Block","src":"9773:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1310,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1300,"src":"9798:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1311,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1302,"src":"9804:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1312,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1304,"src":"9811:3:2","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":1307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"9783:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9786:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14585,"src":"9783:14:2","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":1313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9783:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1314,"nodeType":"ExpressionStatement","src":"9783:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9681:11:2","parameters":{"id":1305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"left","nameLocation":"9706:4:2","nodeType":"VariableDeclaration","scope":1316,"src":"9693:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1299,"name":"bytes","nodeType":"ElementaryTypeName","src":"9693:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1302,"mutability":"mutable","name":"right","nameLocation":"9725:5:2","nodeType":"VariableDeclaration","scope":1316,"src":"9712:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1301,"name":"bytes","nodeType":"ElementaryTypeName","src":"9712:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1304,"mutability":"mutable","name":"err","nameLocation":"9746:3:2","nodeType":"VariableDeclaration","scope":1316,"src":"9732:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1303,"name":"string","nodeType":"ElementaryTypeName","src":"9732:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9692:58:2"},"returnParameters":{"id":1306,"nodeType":"ParameterList","parameters":[],"src":"9773:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1333,"nodeType":"FunctionDefinition","src":"9828:128:2","nodes":[],"body":{"id":1332,"nodeType":"Block","src":"9912:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1328,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"9937:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1329,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1322,"src":"9943:5:2","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":1325,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"9922:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9925:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14595,"src":"9922:14:2","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":1330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9922:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1331,"nodeType":"ExpressionStatement","src":"9922:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9837:11:2","parameters":{"id":1323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1319,"mutability":"mutable","name":"left","nameLocation":"9863:4:2","nodeType":"VariableDeclaration","scope":1333,"src":"9849:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1317,"name":"bool","nodeType":"ElementaryTypeName","src":"9849:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1318,"nodeType":"ArrayTypeName","src":"9849:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1322,"mutability":"mutable","name":"right","nameLocation":"9883:5:2","nodeType":"VariableDeclaration","scope":1333,"src":"9869:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1320,"name":"bool","nodeType":"ElementaryTypeName","src":"9869:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1321,"nodeType":"ArrayTypeName","src":"9869:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9848:41:2"},"returnParameters":{"id":1324,"nodeType":"ParameterList","parameters":[],"src":"9912:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1353,"nodeType":"FunctionDefinition","src":"9962:152:2","nodes":[],"body":{"id":1352,"nodeType":"Block","src":"10065:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1347,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1336,"src":"10090:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1348,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"10096:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1349,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"10103:3:2","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":1344,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"10075:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10078:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14607,"src":"10075:14:2","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":1350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10075:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1351,"nodeType":"ExpressionStatement","src":"10075:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9971:11:2","parameters":{"id":1342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1336,"mutability":"mutable","name":"left","nameLocation":"9997:4:2","nodeType":"VariableDeclaration","scope":1353,"src":"9983:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1334,"name":"bool","nodeType":"ElementaryTypeName","src":"9983:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1335,"nodeType":"ArrayTypeName","src":"9983:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1339,"mutability":"mutable","name":"right","nameLocation":"10017:5:2","nodeType":"VariableDeclaration","scope":1353,"src":"10003:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1337,"name":"bool","nodeType":"ElementaryTypeName","src":"10003:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1338,"nodeType":"ArrayTypeName","src":"10003:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1341,"mutability":"mutable","name":"err","nameLocation":"10038:3:2","nodeType":"VariableDeclaration","scope":1353,"src":"10024:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1340,"name":"string","nodeType":"ElementaryTypeName","src":"10024:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9982:60:2"},"returnParameters":{"id":1343,"nodeType":"ParameterList","parameters":[],"src":"10065:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1370,"nodeType":"FunctionDefinition","src":"10120:134:2","nodes":[],"body":{"id":1369,"nodeType":"Block","src":"10210:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1365,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1356,"src":"10235:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1366,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1359,"src":"10241:5:2","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":1362,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"10220:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10223:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14617,"src":"10220:14:2","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":1367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10220:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1368,"nodeType":"ExpressionStatement","src":"10220:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10129:11:2","parameters":{"id":1360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1356,"mutability":"mutable","name":"left","nameLocation":"10158:4:2","nodeType":"VariableDeclaration","scope":1370,"src":"10141:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1354,"name":"uint256","nodeType":"ElementaryTypeName","src":"10141:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1355,"nodeType":"ArrayTypeName","src":"10141:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1359,"mutability":"mutable","name":"right","nameLocation":"10181:5:2","nodeType":"VariableDeclaration","scope":1370,"src":"10164:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1357,"name":"uint256","nodeType":"ElementaryTypeName","src":"10164:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1358,"nodeType":"ArrayTypeName","src":"10164:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10140:47:2"},"returnParameters":{"id":1361,"nodeType":"ParameterList","parameters":[],"src":"10210:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1390,"nodeType":"FunctionDefinition","src":"10260:158:2","nodes":[],"body":{"id":1389,"nodeType":"Block","src":"10369:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1384,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1373,"src":"10394:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1385,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1376,"src":"10400:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1386,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"10407:3:2","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":1381,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"10379:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10382:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14629,"src":"10379:14:2","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":1387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10379:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1388,"nodeType":"ExpressionStatement","src":"10379:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10269:11:2","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1373,"mutability":"mutable","name":"left","nameLocation":"10298:4:2","nodeType":"VariableDeclaration","scope":1390,"src":"10281:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1371,"name":"uint256","nodeType":"ElementaryTypeName","src":"10281:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1372,"nodeType":"ArrayTypeName","src":"10281:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1376,"mutability":"mutable","name":"right","nameLocation":"10321:5:2","nodeType":"VariableDeclaration","scope":1390,"src":"10304:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1374,"name":"uint256","nodeType":"ElementaryTypeName","src":"10304:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1375,"nodeType":"ArrayTypeName","src":"10304:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1378,"mutability":"mutable","name":"err","nameLocation":"10342:3:2","nodeType":"VariableDeclaration","scope":1390,"src":"10328:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1377,"name":"string","nodeType":"ElementaryTypeName","src":"10328:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10280:66:2"},"returnParameters":{"id":1380,"nodeType":"ParameterList","parameters":[],"src":"10369:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1407,"nodeType":"FunctionDefinition","src":"10424:132:2","nodes":[],"body":{"id":1406,"nodeType":"Block","src":"10512:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1402,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1393,"src":"10537:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1403,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1396,"src":"10543:5:2","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":1399,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"10522:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10525:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14639,"src":"10522:14:2","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":1404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10522:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1405,"nodeType":"ExpressionStatement","src":"10522:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10433:11:2","parameters":{"id":1397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1393,"mutability":"mutable","name":"left","nameLocation":"10461:4:2","nodeType":"VariableDeclaration","scope":1407,"src":"10445:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1391,"name":"int256","nodeType":"ElementaryTypeName","src":"10445:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1392,"nodeType":"ArrayTypeName","src":"10445:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1396,"mutability":"mutable","name":"right","nameLocation":"10483:5:2","nodeType":"VariableDeclaration","scope":1407,"src":"10467:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1394,"name":"int256","nodeType":"ElementaryTypeName","src":"10467:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1395,"nodeType":"ArrayTypeName","src":"10467:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"10444:45:2"},"returnParameters":{"id":1398,"nodeType":"ParameterList","parameters":[],"src":"10512:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1427,"nodeType":"FunctionDefinition","src":"10562:156:2","nodes":[],"body":{"id":1426,"nodeType":"Block","src":"10669:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1421,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1410,"src":"10694:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1422,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1413,"src":"10700:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1423,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1415,"src":"10707:3:2","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":1418,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"10679:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10682:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14651,"src":"10679:14:2","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":1424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10679:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1425,"nodeType":"ExpressionStatement","src":"10679:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10571:11:2","parameters":{"id":1416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1410,"mutability":"mutable","name":"left","nameLocation":"10599:4:2","nodeType":"VariableDeclaration","scope":1427,"src":"10583:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1408,"name":"int256","nodeType":"ElementaryTypeName","src":"10583:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1409,"nodeType":"ArrayTypeName","src":"10583:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1413,"mutability":"mutable","name":"right","nameLocation":"10621:5:2","nodeType":"VariableDeclaration","scope":1427,"src":"10605:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1411,"name":"int256","nodeType":"ElementaryTypeName","src":"10605:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1412,"nodeType":"ArrayTypeName","src":"10605:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1415,"mutability":"mutable","name":"err","nameLocation":"10642:3:2","nodeType":"VariableDeclaration","scope":1427,"src":"10628:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1414,"name":"string","nodeType":"ElementaryTypeName","src":"10628:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10582:64:2"},"returnParameters":{"id":1417,"nodeType":"ParameterList","parameters":[],"src":"10669:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1444,"nodeType":"FunctionDefinition","src":"10724:134:2","nodes":[],"body":{"id":1443,"nodeType":"Block","src":"10814:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1439,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1430,"src":"10839:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1440,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1433,"src":"10845:5:2","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":1436,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"10824:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10827:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14669,"src":"10824:14:2","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":1441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10824:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1442,"nodeType":"ExpressionStatement","src":"10824:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10733:11:2","parameters":{"id":1434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1430,"mutability":"mutable","name":"left","nameLocation":"10762:4:2","nodeType":"VariableDeclaration","scope":1444,"src":"10745:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1428,"name":"address","nodeType":"ElementaryTypeName","src":"10745:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1429,"nodeType":"ArrayTypeName","src":"10745:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1433,"mutability":"mutable","name":"right","nameLocation":"10785:5:2","nodeType":"VariableDeclaration","scope":1444,"src":"10768:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1431,"name":"address","nodeType":"ElementaryTypeName","src":"10768:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1432,"nodeType":"ArrayTypeName","src":"10768:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10744:47:2"},"returnParameters":{"id":1435,"nodeType":"ParameterList","parameters":[],"src":"10814:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1464,"nodeType":"FunctionDefinition","src":"10864:158:2","nodes":[],"body":{"id":1463,"nodeType":"Block","src":"10973:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1458,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1447,"src":"10998:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1459,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1450,"src":"11004:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1460,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1452,"src":"11011:3:2","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":1455,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"10983:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10986:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14681,"src":"10983:14:2","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":1461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10983:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1462,"nodeType":"ExpressionStatement","src":"10983:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10873:11:2","parameters":{"id":1453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1447,"mutability":"mutable","name":"left","nameLocation":"10902:4:2","nodeType":"VariableDeclaration","scope":1464,"src":"10885:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1445,"name":"address","nodeType":"ElementaryTypeName","src":"10885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1446,"nodeType":"ArrayTypeName","src":"10885:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1450,"mutability":"mutable","name":"right","nameLocation":"10925:5:2","nodeType":"VariableDeclaration","scope":1464,"src":"10908:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1448,"name":"address","nodeType":"ElementaryTypeName","src":"10908:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1449,"nodeType":"ArrayTypeName","src":"10908:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1452,"mutability":"mutable","name":"err","nameLocation":"10946:3:2","nodeType":"VariableDeclaration","scope":1464,"src":"10932:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1451,"name":"string","nodeType":"ElementaryTypeName","src":"10932:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:66:2"},"returnParameters":{"id":1454,"nodeType":"ParameterList","parameters":[],"src":"10973:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1481,"nodeType":"FunctionDefinition","src":"11028:134:2","nodes":[],"body":{"id":1480,"nodeType":"Block","src":"11118:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1476,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1467,"src":"11143:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1477,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1470,"src":"11149:5:2","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":1473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"11128:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11131:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14691,"src":"11128:14:2","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":1478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11128:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1479,"nodeType":"ExpressionStatement","src":"11128:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11037:11:2","parameters":{"id":1471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1467,"mutability":"mutable","name":"left","nameLocation":"11066:4:2","nodeType":"VariableDeclaration","scope":1481,"src":"11049:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11049:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1466,"nodeType":"ArrayTypeName","src":"11049:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1470,"mutability":"mutable","name":"right","nameLocation":"11089:5:2","nodeType":"VariableDeclaration","scope":1481,"src":"11072:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11072:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1469,"nodeType":"ArrayTypeName","src":"11072:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11048:47:2"},"returnParameters":{"id":1472,"nodeType":"ParameterList","parameters":[],"src":"11118:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1501,"nodeType":"FunctionDefinition","src":"11168:158:2","nodes":[],"body":{"id":1500,"nodeType":"Block","src":"11277:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1495,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1484,"src":"11302:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1496,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1487,"src":"11308:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1497,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1489,"src":"11315:3:2","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":1492,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"11287:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11290:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14703,"src":"11287:14:2","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":1498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11287:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1499,"nodeType":"ExpressionStatement","src":"11287:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11177:11:2","parameters":{"id":1490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1484,"mutability":"mutable","name":"left","nameLocation":"11206:4:2","nodeType":"VariableDeclaration","scope":1501,"src":"11189:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11189:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1483,"nodeType":"ArrayTypeName","src":"11189:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1487,"mutability":"mutable","name":"right","nameLocation":"11229:5:2","nodeType":"VariableDeclaration","scope":1501,"src":"11212:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11212:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1486,"nodeType":"ArrayTypeName","src":"11212:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1489,"mutability":"mutable","name":"err","nameLocation":"11250:3:2","nodeType":"VariableDeclaration","scope":1501,"src":"11236:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1488,"name":"string","nodeType":"ElementaryTypeName","src":"11236:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11188:66:2"},"returnParameters":{"id":1491,"nodeType":"ParameterList","parameters":[],"src":"11277:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1518,"nodeType":"FunctionDefinition","src":"11332:132:2","nodes":[],"body":{"id":1517,"nodeType":"Block","src":"11420:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1513,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1504,"src":"11445:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1514,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1507,"src":"11451:5:2","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":1510,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"11430:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11433:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14713,"src":"11430:14:2","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":1515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11430:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1516,"nodeType":"ExpressionStatement","src":"11430:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11341:11:2","parameters":{"id":1508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1504,"mutability":"mutable","name":"left","nameLocation":"11369:4:2","nodeType":"VariableDeclaration","scope":1518,"src":"11353:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1502,"name":"string","nodeType":"ElementaryTypeName","src":"11353:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1503,"nodeType":"ArrayTypeName","src":"11353:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1507,"mutability":"mutable","name":"right","nameLocation":"11391:5:2","nodeType":"VariableDeclaration","scope":1518,"src":"11375:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1505,"name":"string","nodeType":"ElementaryTypeName","src":"11375:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1506,"nodeType":"ArrayTypeName","src":"11375:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"11352:45:2"},"returnParameters":{"id":1509,"nodeType":"ParameterList","parameters":[],"src":"11420:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1538,"nodeType":"FunctionDefinition","src":"11470:156:2","nodes":[],"body":{"id":1537,"nodeType":"Block","src":"11577:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1532,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1521,"src":"11602:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1533,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1524,"src":"11608:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1534,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1526,"src":"11615:3:2","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":1529,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"11587:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11590:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14725,"src":"11587:14:2","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":1535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11587:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1536,"nodeType":"ExpressionStatement","src":"11587:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11479:11:2","parameters":{"id":1527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1521,"mutability":"mutable","name":"left","nameLocation":"11507:4:2","nodeType":"VariableDeclaration","scope":1538,"src":"11491:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1519,"name":"string","nodeType":"ElementaryTypeName","src":"11491:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1520,"nodeType":"ArrayTypeName","src":"11491:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1524,"mutability":"mutable","name":"right","nameLocation":"11529:5:2","nodeType":"VariableDeclaration","scope":1538,"src":"11513:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1522,"name":"string","nodeType":"ElementaryTypeName","src":"11513:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1523,"nodeType":"ArrayTypeName","src":"11513:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1526,"mutability":"mutable","name":"err","nameLocation":"11550:3:2","nodeType":"VariableDeclaration","scope":1538,"src":"11536:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1525,"name":"string","nodeType":"ElementaryTypeName","src":"11536:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11490:64:2"},"returnParameters":{"id":1528,"nodeType":"ParameterList","parameters":[],"src":"11577:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1555,"nodeType":"FunctionDefinition","src":"11632:130:2","nodes":[],"body":{"id":1554,"nodeType":"Block","src":"11718:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1550,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1541,"src":"11743:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1551,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1544,"src":"11749:5:2","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":1547,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"11728:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11731:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14735,"src":"11728:14:2","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":1552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11728:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1553,"nodeType":"ExpressionStatement","src":"11728:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11641:11:2","parameters":{"id":1545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1541,"mutability":"mutable","name":"left","nameLocation":"11668:4:2","nodeType":"VariableDeclaration","scope":1555,"src":"11653:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1539,"name":"bytes","nodeType":"ElementaryTypeName","src":"11653:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1540,"nodeType":"ArrayTypeName","src":"11653:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1544,"mutability":"mutable","name":"right","nameLocation":"11689:5:2","nodeType":"VariableDeclaration","scope":1555,"src":"11674:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1542,"name":"bytes","nodeType":"ElementaryTypeName","src":"11674:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1543,"nodeType":"ArrayTypeName","src":"11674:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11652:43:2"},"returnParameters":{"id":1546,"nodeType":"ParameterList","parameters":[],"src":"11718:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1575,"nodeType":"FunctionDefinition","src":"11768:154:2","nodes":[],"body":{"id":1574,"nodeType":"Block","src":"11873:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1569,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1558,"src":"11898:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1570,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"11904:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1571,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1563,"src":"11911:3:2","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":1566,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"11883:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11886:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":14747,"src":"11883:14:2","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":1572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11883:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1573,"nodeType":"ExpressionStatement","src":"11883:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11777:11:2","parameters":{"id":1564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1558,"mutability":"mutable","name":"left","nameLocation":"11804:4:2","nodeType":"VariableDeclaration","scope":1575,"src":"11789:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1556,"name":"bytes","nodeType":"ElementaryTypeName","src":"11789:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1557,"nodeType":"ArrayTypeName","src":"11789:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1561,"mutability":"mutable","name":"right","nameLocation":"11825:5:2","nodeType":"VariableDeclaration","scope":1575,"src":"11810:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1559,"name":"bytes","nodeType":"ElementaryTypeName","src":"11810:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1560,"nodeType":"ArrayTypeName","src":"11810:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1563,"mutability":"mutable","name":"err","nameLocation":"11846:3:2","nodeType":"VariableDeclaration","scope":1575,"src":"11832:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1562,"name":"string","nodeType":"ElementaryTypeName","src":"11832:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11788:62:2"},"returnParameters":{"id":1565,"nodeType":"ParameterList","parameters":[],"src":"11873:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1590,"nodeType":"FunctionDefinition","src":"11928:110:2","nodes":[],"body":{"id":1589,"nodeType":"Block","src":"11997:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1585,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1577,"src":"12019:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1586,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1579,"src":"12025:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1582,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"12007:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12010:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14459,"src":"12007:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12007:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1588,"nodeType":"ExpressionStatement","src":"12007:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11937:8:2","parameters":{"id":1580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1577,"mutability":"mutable","name":"left","nameLocation":"11954:4:2","nodeType":"VariableDeclaration","scope":1590,"src":"11946:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1576,"name":"uint256","nodeType":"ElementaryTypeName","src":"11946:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1579,"mutability":"mutable","name":"right","nameLocation":"11968:5:2","nodeType":"VariableDeclaration","scope":1590,"src":"11960:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1578,"name":"uint256","nodeType":"ElementaryTypeName","src":"11960:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:29:2"},"returnParameters":{"id":1581,"nodeType":"ParameterList","parameters":[],"src":"11997:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1608,"nodeType":"FunctionDefinition","src":"12044:134:2","nodes":[],"body":{"id":1607,"nodeType":"Block","src":"12132:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1602,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1592,"src":"12154:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1603,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1594,"src":"12160:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1604,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"12167:3:2","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":1599,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"12142:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12145:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14469,"src":"12142:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12142:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1606,"nodeType":"ExpressionStatement","src":"12142:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12053:8:2","parameters":{"id":1597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1592,"mutability":"mutable","name":"left","nameLocation":"12070:4:2","nodeType":"VariableDeclaration","scope":1608,"src":"12062:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1591,"name":"uint256","nodeType":"ElementaryTypeName","src":"12062:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1594,"mutability":"mutable","name":"right","nameLocation":"12084:5:2","nodeType":"VariableDeclaration","scope":1608,"src":"12076:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1593,"name":"uint256","nodeType":"ElementaryTypeName","src":"12076:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1596,"mutability":"mutable","name":"err","nameLocation":"12105:3:2","nodeType":"VariableDeclaration","scope":1608,"src":"12091:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1595,"name":"string","nodeType":"ElementaryTypeName","src":"12091:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12061:48:2"},"returnParameters":{"id":1598,"nodeType":"ParameterList","parameters":[],"src":"12132:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1626,"nodeType":"FunctionDefinition","src":"12184:152:2","nodes":[],"body":{"id":1625,"nodeType":"Block","src":"12278:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1620,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1610,"src":"12307:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1621,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1612,"src":"12313:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1622,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1614,"src":"12320:8:2","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":1617,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"12288:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12291:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14417,"src":"12288:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12288:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1624,"nodeType":"ExpressionStatement","src":"12288:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12193:15:2","parameters":{"id":1615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1610,"mutability":"mutable","name":"left","nameLocation":"12217:4:2","nodeType":"VariableDeclaration","scope":1626,"src":"12209:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1609,"name":"uint256","nodeType":"ElementaryTypeName","src":"12209:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1612,"mutability":"mutable","name":"right","nameLocation":"12231:5:2","nodeType":"VariableDeclaration","scope":1626,"src":"12223:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1611,"name":"uint256","nodeType":"ElementaryTypeName","src":"12223:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1614,"mutability":"mutable","name":"decimals","nameLocation":"12246:8:2","nodeType":"VariableDeclaration","scope":1626,"src":"12238:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1613,"name":"uint256","nodeType":"ElementaryTypeName","src":"12238:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12208:47:2"},"returnParameters":{"id":1616,"nodeType":"ParameterList","parameters":[],"src":"12278:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1647,"nodeType":"FunctionDefinition","src":"12342:176:2","nodes":[],"body":{"id":1646,"nodeType":"Block","src":"12455:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1640,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1628,"src":"12484:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1641,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1630,"src":"12490:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1642,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1632,"src":"12497:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1643,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1634,"src":"12507:3:2","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":1637,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"12465:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12468:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14429,"src":"12465:18:2","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":1644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12465:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1645,"nodeType":"ExpressionStatement","src":"12465:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12351:15:2","parameters":{"id":1635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"left","nameLocation":"12375:4:2","nodeType":"VariableDeclaration","scope":1647,"src":"12367:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1627,"name":"uint256","nodeType":"ElementaryTypeName","src":"12367:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1630,"mutability":"mutable","name":"right","nameLocation":"12389:5:2","nodeType":"VariableDeclaration","scope":1647,"src":"12381:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1629,"name":"uint256","nodeType":"ElementaryTypeName","src":"12381:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1632,"mutability":"mutable","name":"decimals","nameLocation":"12404:8:2","nodeType":"VariableDeclaration","scope":1647,"src":"12396:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1631,"name":"uint256","nodeType":"ElementaryTypeName","src":"12396:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1634,"mutability":"mutable","name":"err","nameLocation":"12428:3:2","nodeType":"VariableDeclaration","scope":1647,"src":"12414:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1633,"name":"string","nodeType":"ElementaryTypeName","src":"12414:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12366:66:2"},"returnParameters":{"id":1636,"nodeType":"ParameterList","parameters":[],"src":"12455:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1662,"nodeType":"FunctionDefinition","src":"12524:108:2","nodes":[],"body":{"id":1661,"nodeType":"Block","src":"12591:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1657,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1649,"src":"12613:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1658,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"12619:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1654,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"12601:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12604:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14477,"src":"12601:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12601:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1660,"nodeType":"ExpressionStatement","src":"12601:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12533:8:2","parameters":{"id":1652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1649,"mutability":"mutable","name":"left","nameLocation":"12549:4:2","nodeType":"VariableDeclaration","scope":1662,"src":"12542:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1648,"name":"int256","nodeType":"ElementaryTypeName","src":"12542:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1651,"mutability":"mutable","name":"right","nameLocation":"12562:5:2","nodeType":"VariableDeclaration","scope":1662,"src":"12555:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1650,"name":"int256","nodeType":"ElementaryTypeName","src":"12555:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12541:27:2"},"returnParameters":{"id":1653,"nodeType":"ParameterList","parameters":[],"src":"12591:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1680,"nodeType":"FunctionDefinition","src":"12638:132:2","nodes":[],"body":{"id":1679,"nodeType":"Block","src":"12724:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1674,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1664,"src":"12746:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1675,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"12752:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1676,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1668,"src":"12759:3:2","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":1671,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"12734:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12737:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":14487,"src":"12734:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12734:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1678,"nodeType":"ExpressionStatement","src":"12734:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12647:8:2","parameters":{"id":1669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1664,"mutability":"mutable","name":"left","nameLocation":"12663:4:2","nodeType":"VariableDeclaration","scope":1680,"src":"12656:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1663,"name":"int256","nodeType":"ElementaryTypeName","src":"12656:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1666,"mutability":"mutable","name":"right","nameLocation":"12676:5:2","nodeType":"VariableDeclaration","scope":1680,"src":"12669:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1665,"name":"int256","nodeType":"ElementaryTypeName","src":"12669:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1668,"mutability":"mutable","name":"err","nameLocation":"12697:3:2","nodeType":"VariableDeclaration","scope":1680,"src":"12683:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1667,"name":"string","nodeType":"ElementaryTypeName","src":"12683:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12655:46:2"},"returnParameters":{"id":1670,"nodeType":"ParameterList","parameters":[],"src":"12724:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1698,"nodeType":"FunctionDefinition","src":"12776:150:2","nodes":[],"body":{"id":1697,"nodeType":"Block","src":"12868:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1692,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1682,"src":"12897:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1693,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1684,"src":"12903:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1694,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1686,"src":"12910:8:2","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":1689,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"12878:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12881:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14439,"src":"12878:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12878:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1696,"nodeType":"ExpressionStatement","src":"12878:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12785:15:2","parameters":{"id":1687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1682,"mutability":"mutable","name":"left","nameLocation":"12808:4:2","nodeType":"VariableDeclaration","scope":1698,"src":"12801:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1681,"name":"int256","nodeType":"ElementaryTypeName","src":"12801:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1684,"mutability":"mutable","name":"right","nameLocation":"12821:5:2","nodeType":"VariableDeclaration","scope":1698,"src":"12814:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1683,"name":"int256","nodeType":"ElementaryTypeName","src":"12814:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1686,"mutability":"mutable","name":"decimals","nameLocation":"12836:8:2","nodeType":"VariableDeclaration","scope":1698,"src":"12828:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1685,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12800:45:2"},"returnParameters":{"id":1688,"nodeType":"ParameterList","parameters":[],"src":"12868:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1719,"nodeType":"FunctionDefinition","src":"12932:174:2","nodes":[],"body":{"id":1718,"nodeType":"Block","src":"13043:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1712,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"13072:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1713,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1702,"src":"13078:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1714,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1704,"src":"13085:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1715,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1706,"src":"13095:3:2","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":1709,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"13053:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13056:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":14451,"src":"13053:18:2","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":1716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13053:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1717,"nodeType":"ExpressionStatement","src":"13053:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12941:15:2","parameters":{"id":1707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1700,"mutability":"mutable","name":"left","nameLocation":"12964:4:2","nodeType":"VariableDeclaration","scope":1719,"src":"12957:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1699,"name":"int256","nodeType":"ElementaryTypeName","src":"12957:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1702,"mutability":"mutable","name":"right","nameLocation":"12977:5:2","nodeType":"VariableDeclaration","scope":1719,"src":"12970:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1701,"name":"int256","nodeType":"ElementaryTypeName","src":"12970:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1704,"mutability":"mutable","name":"decimals","nameLocation":"12992:8:2","nodeType":"VariableDeclaration","scope":1719,"src":"12984:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1703,"name":"uint256","nodeType":"ElementaryTypeName","src":"12984:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1706,"mutability":"mutable","name":"err","nameLocation":"13016:3:2","nodeType":"VariableDeclaration","scope":1719,"src":"13002:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1705,"name":"string","nodeType":"ElementaryTypeName","src":"13002:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12956:64:2"},"returnParameters":{"id":1708,"nodeType":"ParameterList","parameters":[],"src":"13043:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1734,"nodeType":"FunctionDefinition","src":"13112:110:2","nodes":[],"body":{"id":1733,"nodeType":"Block","src":"13181:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1729,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1721,"src":"13203:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1730,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1723,"src":"13209:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1726,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"13191:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13194:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14299,"src":"13191:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13191:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"13191:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13121:8:2","parameters":{"id":1724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1721,"mutability":"mutable","name":"left","nameLocation":"13138:4:2","nodeType":"VariableDeclaration","scope":1734,"src":"13130:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1720,"name":"uint256","nodeType":"ElementaryTypeName","src":"13130:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1723,"mutability":"mutable","name":"right","nameLocation":"13152:5:2","nodeType":"VariableDeclaration","scope":1734,"src":"13144:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1722,"name":"uint256","nodeType":"ElementaryTypeName","src":"13144:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13129:29:2"},"returnParameters":{"id":1725,"nodeType":"ParameterList","parameters":[],"src":"13181:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1752,"nodeType":"FunctionDefinition","src":"13228:134:2","nodes":[],"body":{"id":1751,"nodeType":"Block","src":"13316:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1746,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1736,"src":"13338:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1747,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1738,"src":"13344:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1748,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1740,"src":"13351:3:2","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":1743,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"13326:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13329:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14309,"src":"13326:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13326:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1750,"nodeType":"ExpressionStatement","src":"13326:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13237:8:2","parameters":{"id":1741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1736,"mutability":"mutable","name":"left","nameLocation":"13254:4:2","nodeType":"VariableDeclaration","scope":1752,"src":"13246:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1735,"name":"uint256","nodeType":"ElementaryTypeName","src":"13246:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1738,"mutability":"mutable","name":"right","nameLocation":"13268:5:2","nodeType":"VariableDeclaration","scope":1752,"src":"13260:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1737,"name":"uint256","nodeType":"ElementaryTypeName","src":"13260:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1740,"mutability":"mutable","name":"err","nameLocation":"13289:3:2","nodeType":"VariableDeclaration","scope":1752,"src":"13275:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1739,"name":"string","nodeType":"ElementaryTypeName","src":"13275:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13245:48:2"},"returnParameters":{"id":1742,"nodeType":"ParameterList","parameters":[],"src":"13316:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1770,"nodeType":"FunctionDefinition","src":"13368:152:2","nodes":[],"body":{"id":1769,"nodeType":"Block","src":"13462:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1764,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1754,"src":"13491:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1765,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1756,"src":"13497:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1766,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1758,"src":"13504:8:2","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":1761,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"13472:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13475:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14257,"src":"13472:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13472:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1768,"nodeType":"ExpressionStatement","src":"13472:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13377:15:2","parameters":{"id":1759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1754,"mutability":"mutable","name":"left","nameLocation":"13401:4:2","nodeType":"VariableDeclaration","scope":1770,"src":"13393:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1753,"name":"uint256","nodeType":"ElementaryTypeName","src":"13393:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1756,"mutability":"mutable","name":"right","nameLocation":"13415:5:2","nodeType":"VariableDeclaration","scope":1770,"src":"13407:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1755,"name":"uint256","nodeType":"ElementaryTypeName","src":"13407:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1758,"mutability":"mutable","name":"decimals","nameLocation":"13430:8:2","nodeType":"VariableDeclaration","scope":1770,"src":"13422:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1757,"name":"uint256","nodeType":"ElementaryTypeName","src":"13422:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13392:47:2"},"returnParameters":{"id":1760,"nodeType":"ParameterList","parameters":[],"src":"13462:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1791,"nodeType":"FunctionDefinition","src":"13526:176:2","nodes":[],"body":{"id":1790,"nodeType":"Block","src":"13639:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1784,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1772,"src":"13668:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1785,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"13674:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1786,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1776,"src":"13681:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1787,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"13691:3:2","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":1781,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"13649:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13652:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14269,"src":"13649:18:2","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":1788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13649:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1789,"nodeType":"ExpressionStatement","src":"13649:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13535:15:2","parameters":{"id":1779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1772,"mutability":"mutable","name":"left","nameLocation":"13559:4:2","nodeType":"VariableDeclaration","scope":1791,"src":"13551:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1771,"name":"uint256","nodeType":"ElementaryTypeName","src":"13551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1774,"mutability":"mutable","name":"right","nameLocation":"13573:5:2","nodeType":"VariableDeclaration","scope":1791,"src":"13565:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1773,"name":"uint256","nodeType":"ElementaryTypeName","src":"13565:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1776,"mutability":"mutable","name":"decimals","nameLocation":"13588:8:2","nodeType":"VariableDeclaration","scope":1791,"src":"13580:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1775,"name":"uint256","nodeType":"ElementaryTypeName","src":"13580:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1778,"mutability":"mutable","name":"err","nameLocation":"13612:3:2","nodeType":"VariableDeclaration","scope":1791,"src":"13598:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1777,"name":"string","nodeType":"ElementaryTypeName","src":"13598:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13550:66:2"},"returnParameters":{"id":1780,"nodeType":"ParameterList","parameters":[],"src":"13639:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1806,"nodeType":"FunctionDefinition","src":"13708:108:2","nodes":[],"body":{"id":1805,"nodeType":"Block","src":"13775:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1801,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1793,"src":"13797:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1802,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1795,"src":"13803:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1798,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"13785:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13788:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14317,"src":"13785:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13785:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1804,"nodeType":"ExpressionStatement","src":"13785:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13717:8:2","parameters":{"id":1796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1793,"mutability":"mutable","name":"left","nameLocation":"13733:4:2","nodeType":"VariableDeclaration","scope":1806,"src":"13726:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1792,"name":"int256","nodeType":"ElementaryTypeName","src":"13726:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1795,"mutability":"mutable","name":"right","nameLocation":"13746:5:2","nodeType":"VariableDeclaration","scope":1806,"src":"13739:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1794,"name":"int256","nodeType":"ElementaryTypeName","src":"13739:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13725:27:2"},"returnParameters":{"id":1797,"nodeType":"ParameterList","parameters":[],"src":"13775:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1824,"nodeType":"FunctionDefinition","src":"13822:132:2","nodes":[],"body":{"id":1823,"nodeType":"Block","src":"13908:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1818,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1808,"src":"13930:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1819,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1810,"src":"13936:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1820,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1812,"src":"13943:3:2","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":1815,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"13918:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13921:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":14327,"src":"13918:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13918:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1822,"nodeType":"ExpressionStatement","src":"13918:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13831:8:2","parameters":{"id":1813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1808,"mutability":"mutable","name":"left","nameLocation":"13847:4:2","nodeType":"VariableDeclaration","scope":1824,"src":"13840:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1807,"name":"int256","nodeType":"ElementaryTypeName","src":"13840:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1810,"mutability":"mutable","name":"right","nameLocation":"13860:5:2","nodeType":"VariableDeclaration","scope":1824,"src":"13853:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1809,"name":"int256","nodeType":"ElementaryTypeName","src":"13853:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1812,"mutability":"mutable","name":"err","nameLocation":"13881:3:2","nodeType":"VariableDeclaration","scope":1824,"src":"13867:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1811,"name":"string","nodeType":"ElementaryTypeName","src":"13867:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13839:46:2"},"returnParameters":{"id":1814,"nodeType":"ParameterList","parameters":[],"src":"13908:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1842,"nodeType":"FunctionDefinition","src":"13960:150:2","nodes":[],"body":{"id":1841,"nodeType":"Block","src":"14052:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1836,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"14081:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1837,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1828,"src":"14087:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1838,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1830,"src":"14094:8:2","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":1833,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"14062:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14065:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14279,"src":"14062:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14062:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1840,"nodeType":"ExpressionStatement","src":"14062:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13969:15:2","parameters":{"id":1831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1826,"mutability":"mutable","name":"left","nameLocation":"13992:4:2","nodeType":"VariableDeclaration","scope":1842,"src":"13985:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1825,"name":"int256","nodeType":"ElementaryTypeName","src":"13985:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1828,"mutability":"mutable","name":"right","nameLocation":"14005:5:2","nodeType":"VariableDeclaration","scope":1842,"src":"13998:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1827,"name":"int256","nodeType":"ElementaryTypeName","src":"13998:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1830,"mutability":"mutable","name":"decimals","nameLocation":"14020:8:2","nodeType":"VariableDeclaration","scope":1842,"src":"14012:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1829,"name":"uint256","nodeType":"ElementaryTypeName","src":"14012:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13984:45:2"},"returnParameters":{"id":1832,"nodeType":"ParameterList","parameters":[],"src":"14052:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1863,"nodeType":"FunctionDefinition","src":"14116:174:2","nodes":[],"body":{"id":1862,"nodeType":"Block","src":"14227:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1856,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1844,"src":"14256:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1857,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"14262:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1858,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"14269:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1859,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"14279:3:2","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":1853,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"14237:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14240:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":14291,"src":"14237:18:2","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":1860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14237:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1861,"nodeType":"ExpressionStatement","src":"14237:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"14125:15:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1844,"mutability":"mutable","name":"left","nameLocation":"14148:4:2","nodeType":"VariableDeclaration","scope":1863,"src":"14141:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1843,"name":"int256","nodeType":"ElementaryTypeName","src":"14141:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1846,"mutability":"mutable","name":"right","nameLocation":"14161:5:2","nodeType":"VariableDeclaration","scope":1863,"src":"14154:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1845,"name":"int256","nodeType":"ElementaryTypeName","src":"14154:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1848,"mutability":"mutable","name":"decimals","nameLocation":"14176:8:2","nodeType":"VariableDeclaration","scope":1863,"src":"14168:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1847,"name":"uint256","nodeType":"ElementaryTypeName","src":"14168:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"err","nameLocation":"14200:3:2","nodeType":"VariableDeclaration","scope":1863,"src":"14186:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1849,"name":"string","nodeType":"ElementaryTypeName","src":"14186:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14140:64:2"},"returnParameters":{"id":1852,"nodeType":"ParameterList","parameters":[],"src":"14227:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1878,"nodeType":"FunctionDefinition","src":"14296:110:2","nodes":[],"body":{"id":1877,"nodeType":"Block","src":"14365:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1873,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1865,"src":"14387:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1874,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1867,"src":"14393:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1870,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"14375:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14378:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14379,"src":"14375:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14375:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1876,"nodeType":"ExpressionStatement","src":"14375:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14305:8:2","parameters":{"id":1868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1865,"mutability":"mutable","name":"left","nameLocation":"14322:4:2","nodeType":"VariableDeclaration","scope":1878,"src":"14314:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1864,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1867,"mutability":"mutable","name":"right","nameLocation":"14336:5:2","nodeType":"VariableDeclaration","scope":1878,"src":"14328:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1866,"name":"uint256","nodeType":"ElementaryTypeName","src":"14328:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:29:2"},"returnParameters":{"id":1869,"nodeType":"ParameterList","parameters":[],"src":"14365:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1896,"nodeType":"FunctionDefinition","src":"14412:134:2","nodes":[],"body":{"id":1895,"nodeType":"Block","src":"14500:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1890,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1880,"src":"14522:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1891,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1882,"src":"14528:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1892,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1884,"src":"14535:3:2","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":1887,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"14510:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14513:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14389,"src":"14510:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14510:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1894,"nodeType":"ExpressionStatement","src":"14510:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14421:8:2","parameters":{"id":1885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1880,"mutability":"mutable","name":"left","nameLocation":"14438:4:2","nodeType":"VariableDeclaration","scope":1896,"src":"14430:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1879,"name":"uint256","nodeType":"ElementaryTypeName","src":"14430:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1882,"mutability":"mutable","name":"right","nameLocation":"14452:5:2","nodeType":"VariableDeclaration","scope":1896,"src":"14444:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1881,"name":"uint256","nodeType":"ElementaryTypeName","src":"14444:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1884,"mutability":"mutable","name":"err","nameLocation":"14473:3:2","nodeType":"VariableDeclaration","scope":1896,"src":"14459:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1883,"name":"string","nodeType":"ElementaryTypeName","src":"14459:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14429:48:2"},"returnParameters":{"id":1886,"nodeType":"ParameterList","parameters":[],"src":"14500:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1914,"nodeType":"FunctionDefinition","src":"14552:152:2","nodes":[],"body":{"id":1913,"nodeType":"Block","src":"14646:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1908,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1898,"src":"14675:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1909,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1900,"src":"14681:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1910,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1902,"src":"14688:8:2","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":1905,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"14656:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14659:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14337,"src":"14656:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14656:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1912,"nodeType":"ExpressionStatement","src":"14656:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14561:15:2","parameters":{"id":1903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1898,"mutability":"mutable","name":"left","nameLocation":"14585:4:2","nodeType":"VariableDeclaration","scope":1914,"src":"14577:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1897,"name":"uint256","nodeType":"ElementaryTypeName","src":"14577:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1900,"mutability":"mutable","name":"right","nameLocation":"14599:5:2","nodeType":"VariableDeclaration","scope":1914,"src":"14591:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1899,"name":"uint256","nodeType":"ElementaryTypeName","src":"14591:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1902,"mutability":"mutable","name":"decimals","nameLocation":"14614:8:2","nodeType":"VariableDeclaration","scope":1914,"src":"14606:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1901,"name":"uint256","nodeType":"ElementaryTypeName","src":"14606:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14576:47:2"},"returnParameters":{"id":1904,"nodeType":"ParameterList","parameters":[],"src":"14646:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1935,"nodeType":"FunctionDefinition","src":"14710:176:2","nodes":[],"body":{"id":1934,"nodeType":"Block","src":"14823:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1928,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1916,"src":"14852:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1929,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1918,"src":"14858:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1930,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1920,"src":"14865:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1931,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1922,"src":"14875:3:2","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":1925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"14833:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14836:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14349,"src":"14833:18:2","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":1932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14833:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1933,"nodeType":"ExpressionStatement","src":"14833:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14719:15:2","parameters":{"id":1923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1916,"mutability":"mutable","name":"left","nameLocation":"14743:4:2","nodeType":"VariableDeclaration","scope":1935,"src":"14735:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1915,"name":"uint256","nodeType":"ElementaryTypeName","src":"14735:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1918,"mutability":"mutable","name":"right","nameLocation":"14757:5:2","nodeType":"VariableDeclaration","scope":1935,"src":"14749:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1917,"name":"uint256","nodeType":"ElementaryTypeName","src":"14749:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1920,"mutability":"mutable","name":"decimals","nameLocation":"14772:8:2","nodeType":"VariableDeclaration","scope":1935,"src":"14764:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1919,"name":"uint256","nodeType":"ElementaryTypeName","src":"14764:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1922,"mutability":"mutable","name":"err","nameLocation":"14796:3:2","nodeType":"VariableDeclaration","scope":1935,"src":"14782:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1921,"name":"string","nodeType":"ElementaryTypeName","src":"14782:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14734:66:2"},"returnParameters":{"id":1924,"nodeType":"ParameterList","parameters":[],"src":"14823:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1950,"nodeType":"FunctionDefinition","src":"14892:108:2","nodes":[],"body":{"id":1949,"nodeType":"Block","src":"14959:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1945,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1937,"src":"14981:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1946,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1939,"src":"14987:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1942,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"14969:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14972:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14397,"src":"14969:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14969:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1948,"nodeType":"ExpressionStatement","src":"14969:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14901:8:2","parameters":{"id":1940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1937,"mutability":"mutable","name":"left","nameLocation":"14917:4:2","nodeType":"VariableDeclaration","scope":1950,"src":"14910:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1936,"name":"int256","nodeType":"ElementaryTypeName","src":"14910:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1939,"mutability":"mutable","name":"right","nameLocation":"14930:5:2","nodeType":"VariableDeclaration","scope":1950,"src":"14923:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1938,"name":"int256","nodeType":"ElementaryTypeName","src":"14923:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14909:27:2"},"returnParameters":{"id":1941,"nodeType":"ParameterList","parameters":[],"src":"14959:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1968,"nodeType":"FunctionDefinition","src":"15006:132:2","nodes":[],"body":{"id":1967,"nodeType":"Block","src":"15092:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1962,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1952,"src":"15114:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1963,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1954,"src":"15120:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1964,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1956,"src":"15127:3:2","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":1959,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"15102:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15105:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":14407,"src":"15102:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15102:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1966,"nodeType":"ExpressionStatement","src":"15102:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"15015:8:2","parameters":{"id":1957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1952,"mutability":"mutable","name":"left","nameLocation":"15031:4:2","nodeType":"VariableDeclaration","scope":1968,"src":"15024:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1951,"name":"int256","nodeType":"ElementaryTypeName","src":"15024:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1954,"mutability":"mutable","name":"right","nameLocation":"15044:5:2","nodeType":"VariableDeclaration","scope":1968,"src":"15037:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1953,"name":"int256","nodeType":"ElementaryTypeName","src":"15037:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1956,"mutability":"mutable","name":"err","nameLocation":"15065:3:2","nodeType":"VariableDeclaration","scope":1968,"src":"15051:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1955,"name":"string","nodeType":"ElementaryTypeName","src":"15051:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15023:46:2"},"returnParameters":{"id":1958,"nodeType":"ParameterList","parameters":[],"src":"15092:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1986,"nodeType":"FunctionDefinition","src":"15144:150:2","nodes":[],"body":{"id":1985,"nodeType":"Block","src":"15236:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1980,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"15265:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1981,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"15271:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1982,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1974,"src":"15278:8:2","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":1977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"15246:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15249:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14359,"src":"15246:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15246:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1984,"nodeType":"ExpressionStatement","src":"15246:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15153:15:2","parameters":{"id":1975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1970,"mutability":"mutable","name":"left","nameLocation":"15176:4:2","nodeType":"VariableDeclaration","scope":1986,"src":"15169:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1969,"name":"int256","nodeType":"ElementaryTypeName","src":"15169:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"right","nameLocation":"15189:5:2","nodeType":"VariableDeclaration","scope":1986,"src":"15182:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1971,"name":"int256","nodeType":"ElementaryTypeName","src":"15182:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1974,"mutability":"mutable","name":"decimals","nameLocation":"15204:8:2","nodeType":"VariableDeclaration","scope":1986,"src":"15196:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1973,"name":"uint256","nodeType":"ElementaryTypeName","src":"15196:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15168:45:2"},"returnParameters":{"id":1976,"nodeType":"ParameterList","parameters":[],"src":"15236:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2007,"nodeType":"FunctionDefinition","src":"15300:174:2","nodes":[],"body":{"id":2006,"nodeType":"Block","src":"15411:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2000,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1988,"src":"15440:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2001,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"15446:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2002,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1992,"src":"15453:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2003,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1994,"src":"15463:3:2","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":1997,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"15421:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":1999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15424:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":14371,"src":"15421:18:2","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":2004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15421:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2005,"nodeType":"ExpressionStatement","src":"15421:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15309:15:2","parameters":{"id":1995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1988,"mutability":"mutable","name":"left","nameLocation":"15332:4:2","nodeType":"VariableDeclaration","scope":2007,"src":"15325:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1987,"name":"int256","nodeType":"ElementaryTypeName","src":"15325:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1990,"mutability":"mutable","name":"right","nameLocation":"15345:5:2","nodeType":"VariableDeclaration","scope":2007,"src":"15338:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1989,"name":"int256","nodeType":"ElementaryTypeName","src":"15338:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1992,"mutability":"mutable","name":"decimals","nameLocation":"15360:8:2","nodeType":"VariableDeclaration","scope":2007,"src":"15352:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1991,"name":"uint256","nodeType":"ElementaryTypeName","src":"15352:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1994,"mutability":"mutable","name":"err","nameLocation":"15384:3:2","nodeType":"VariableDeclaration","scope":2007,"src":"15370:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1993,"name":"string","nodeType":"ElementaryTypeName","src":"15370:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15324:64:2"},"returnParameters":{"id":1996,"nodeType":"ParameterList","parameters":[],"src":"15411:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2022,"nodeType":"FunctionDefinition","src":"15480:110:2","nodes":[],"body":{"id":2021,"nodeType":"Block","src":"15549:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2017,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2009,"src":"15571:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2018,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2011,"src":"15577:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2014,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"15559:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15562:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14219,"src":"15559:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15559:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2020,"nodeType":"ExpressionStatement","src":"15559:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15489:8:2","parameters":{"id":2012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2009,"mutability":"mutable","name":"left","nameLocation":"15506:4:2","nodeType":"VariableDeclaration","scope":2022,"src":"15498:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2008,"name":"uint256","nodeType":"ElementaryTypeName","src":"15498:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2011,"mutability":"mutable","name":"right","nameLocation":"15520:5:2","nodeType":"VariableDeclaration","scope":2022,"src":"15512:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2010,"name":"uint256","nodeType":"ElementaryTypeName","src":"15512:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15497:29:2"},"returnParameters":{"id":2013,"nodeType":"ParameterList","parameters":[],"src":"15549:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2040,"nodeType":"FunctionDefinition","src":"15596:134:2","nodes":[],"body":{"id":2039,"nodeType":"Block","src":"15684:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2034,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2024,"src":"15706:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2035,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2026,"src":"15712:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2036,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2028,"src":"15719:3:2","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":2031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"15694:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15697:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14229,"src":"15694:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15694:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2038,"nodeType":"ExpressionStatement","src":"15694:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15605:8:2","parameters":{"id":2029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2024,"mutability":"mutable","name":"left","nameLocation":"15622:4:2","nodeType":"VariableDeclaration","scope":2040,"src":"15614:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2023,"name":"uint256","nodeType":"ElementaryTypeName","src":"15614:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2026,"mutability":"mutable","name":"right","nameLocation":"15636:5:2","nodeType":"VariableDeclaration","scope":2040,"src":"15628:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2025,"name":"uint256","nodeType":"ElementaryTypeName","src":"15628:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2028,"mutability":"mutable","name":"err","nameLocation":"15657:3:2","nodeType":"VariableDeclaration","scope":2040,"src":"15643:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2027,"name":"string","nodeType":"ElementaryTypeName","src":"15643:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15613:48:2"},"returnParameters":{"id":2030,"nodeType":"ParameterList","parameters":[],"src":"15684:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2058,"nodeType":"FunctionDefinition","src":"15736:152:2","nodes":[],"body":{"id":2057,"nodeType":"Block","src":"15830:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2052,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2042,"src":"15859:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2053,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2044,"src":"15865:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2054,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2046,"src":"15872:8:2","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":2049,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"15840:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15843:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14177,"src":"15840:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15840:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2056,"nodeType":"ExpressionStatement","src":"15840:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15745:15:2","parameters":{"id":2047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2042,"mutability":"mutable","name":"left","nameLocation":"15769:4:2","nodeType":"VariableDeclaration","scope":2058,"src":"15761:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2041,"name":"uint256","nodeType":"ElementaryTypeName","src":"15761:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2044,"mutability":"mutable","name":"right","nameLocation":"15783:5:2","nodeType":"VariableDeclaration","scope":2058,"src":"15775:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2043,"name":"uint256","nodeType":"ElementaryTypeName","src":"15775:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2046,"mutability":"mutable","name":"decimals","nameLocation":"15798:8:2","nodeType":"VariableDeclaration","scope":2058,"src":"15790:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2045,"name":"uint256","nodeType":"ElementaryTypeName","src":"15790:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15760:47:2"},"returnParameters":{"id":2048,"nodeType":"ParameterList","parameters":[],"src":"15830:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2079,"nodeType":"FunctionDefinition","src":"15894:176:2","nodes":[],"body":{"id":2078,"nodeType":"Block","src":"16007:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2072,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2060,"src":"16036:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2073,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2062,"src":"16042:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2074,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2064,"src":"16049:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2075,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"16059:3:2","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":2069,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"16017:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16020:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14189,"src":"16017:18:2","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":2076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16017:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2077,"nodeType":"ExpressionStatement","src":"16017:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15903:15:2","parameters":{"id":2067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2060,"mutability":"mutable","name":"left","nameLocation":"15927:4:2","nodeType":"VariableDeclaration","scope":2079,"src":"15919:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2059,"name":"uint256","nodeType":"ElementaryTypeName","src":"15919:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2062,"mutability":"mutable","name":"right","nameLocation":"15941:5:2","nodeType":"VariableDeclaration","scope":2079,"src":"15933:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2061,"name":"uint256","nodeType":"ElementaryTypeName","src":"15933:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2064,"mutability":"mutable","name":"decimals","nameLocation":"15956:8:2","nodeType":"VariableDeclaration","scope":2079,"src":"15948:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2063,"name":"uint256","nodeType":"ElementaryTypeName","src":"15948:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2066,"mutability":"mutable","name":"err","nameLocation":"15980:3:2","nodeType":"VariableDeclaration","scope":2079,"src":"15966:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2065,"name":"string","nodeType":"ElementaryTypeName","src":"15966:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15918:66:2"},"returnParameters":{"id":2068,"nodeType":"ParameterList","parameters":[],"src":"16007:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2094,"nodeType":"FunctionDefinition","src":"16076:108:2","nodes":[],"body":{"id":2093,"nodeType":"Block","src":"16143:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2089,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2081,"src":"16165:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2090,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"16171:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2086,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"16153:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16156:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14237,"src":"16153:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16153:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2092,"nodeType":"ExpressionStatement","src":"16153:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16085:8:2","parameters":{"id":2084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2081,"mutability":"mutable","name":"left","nameLocation":"16101:4:2","nodeType":"VariableDeclaration","scope":2094,"src":"16094:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2080,"name":"int256","nodeType":"ElementaryTypeName","src":"16094:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2083,"mutability":"mutable","name":"right","nameLocation":"16114:5:2","nodeType":"VariableDeclaration","scope":2094,"src":"16107:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2082,"name":"int256","nodeType":"ElementaryTypeName","src":"16107:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16093:27:2"},"returnParameters":{"id":2085,"nodeType":"ParameterList","parameters":[],"src":"16143:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2112,"nodeType":"FunctionDefinition","src":"16190:132:2","nodes":[],"body":{"id":2111,"nodeType":"Block","src":"16276:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2106,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2096,"src":"16298:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2107,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2098,"src":"16304:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2108,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2100,"src":"16311:3:2","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":2103,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"16286:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16289:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":14247,"src":"16286:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16286:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2110,"nodeType":"ExpressionStatement","src":"16286:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16199:8:2","parameters":{"id":2101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2096,"mutability":"mutable","name":"left","nameLocation":"16215:4:2","nodeType":"VariableDeclaration","scope":2112,"src":"16208:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2095,"name":"int256","nodeType":"ElementaryTypeName","src":"16208:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2098,"mutability":"mutable","name":"right","nameLocation":"16228:5:2","nodeType":"VariableDeclaration","scope":2112,"src":"16221:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2097,"name":"int256","nodeType":"ElementaryTypeName","src":"16221:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2100,"mutability":"mutable","name":"err","nameLocation":"16249:3:2","nodeType":"VariableDeclaration","scope":2112,"src":"16235:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2099,"name":"string","nodeType":"ElementaryTypeName","src":"16235:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16207:46:2"},"returnParameters":{"id":2102,"nodeType":"ParameterList","parameters":[],"src":"16276:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2130,"nodeType":"FunctionDefinition","src":"16328:150:2","nodes":[],"body":{"id":2129,"nodeType":"Block","src":"16420:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2124,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"16449:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2125,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2116,"src":"16455:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2126,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"16462:8:2","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":2121,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"16430:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16433:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14199,"src":"16430:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16430:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2128,"nodeType":"ExpressionStatement","src":"16430:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16337:15:2","parameters":{"id":2119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2114,"mutability":"mutable","name":"left","nameLocation":"16360:4:2","nodeType":"VariableDeclaration","scope":2130,"src":"16353:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2113,"name":"int256","nodeType":"ElementaryTypeName","src":"16353:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2116,"mutability":"mutable","name":"right","nameLocation":"16373:5:2","nodeType":"VariableDeclaration","scope":2130,"src":"16366:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2115,"name":"int256","nodeType":"ElementaryTypeName","src":"16366:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2118,"mutability":"mutable","name":"decimals","nameLocation":"16388:8:2","nodeType":"VariableDeclaration","scope":2130,"src":"16380:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2117,"name":"uint256","nodeType":"ElementaryTypeName","src":"16380:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16352:45:2"},"returnParameters":{"id":2120,"nodeType":"ParameterList","parameters":[],"src":"16420:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2151,"nodeType":"FunctionDefinition","src":"16484:174:2","nodes":[],"body":{"id":2150,"nodeType":"Block","src":"16595:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2144,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2132,"src":"16624:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2145,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2134,"src":"16630:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2146,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2136,"src":"16637:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2147,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"16647:3:2","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":2141,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"16605:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16608:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":14211,"src":"16605:18:2","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":2148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16605:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2149,"nodeType":"ExpressionStatement","src":"16605:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16493:15:2","parameters":{"id":2139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2132,"mutability":"mutable","name":"left","nameLocation":"16516:4:2","nodeType":"VariableDeclaration","scope":2151,"src":"16509:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2131,"name":"int256","nodeType":"ElementaryTypeName","src":"16509:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2134,"mutability":"mutable","name":"right","nameLocation":"16529:5:2","nodeType":"VariableDeclaration","scope":2151,"src":"16522:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2133,"name":"int256","nodeType":"ElementaryTypeName","src":"16522:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2136,"mutability":"mutable","name":"decimals","nameLocation":"16544:8:2","nodeType":"VariableDeclaration","scope":2151,"src":"16536:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2135,"name":"uint256","nodeType":"ElementaryTypeName","src":"16536:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2138,"mutability":"mutable","name":"err","nameLocation":"16568:3:2","nodeType":"VariableDeclaration","scope":2151,"src":"16554:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2137,"name":"string","nodeType":"ElementaryTypeName","src":"16554:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16508:64:2"},"returnParameters":{"id":2140,"nodeType":"ParameterList","parameters":[],"src":"16595:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2169,"nodeType":"FunctionDefinition","src":"16664:156:2","nodes":[],"body":{"id":2168,"nodeType":"Block","src":"16760:60:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2163,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2153,"src":"16791:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2164,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2155,"src":"16797:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2165,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2157,"src":"16804:8:2","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":2160,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"16770:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16773:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13699,"src":"16770:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16770:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2167,"nodeType":"ExpressionStatement","src":"16770:43:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16673:17:2","parameters":{"id":2158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2153,"mutability":"mutable","name":"left","nameLocation":"16699:4:2","nodeType":"VariableDeclaration","scope":2169,"src":"16691:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2152,"name":"uint256","nodeType":"ElementaryTypeName","src":"16691:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2155,"mutability":"mutable","name":"right","nameLocation":"16713:5:2","nodeType":"VariableDeclaration","scope":2169,"src":"16705:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2154,"name":"uint256","nodeType":"ElementaryTypeName","src":"16705:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2157,"mutability":"mutable","name":"maxDelta","nameLocation":"16728:8:2","nodeType":"VariableDeclaration","scope":2169,"src":"16720:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2156,"name":"uint256","nodeType":"ElementaryTypeName","src":"16720:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16690:47:2"},"returnParameters":{"id":2159,"nodeType":"ParameterList","parameters":[],"src":"16760:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2190,"nodeType":"FunctionDefinition","src":"16826:208:2","nodes":[],"body":{"id":2189,"nodeType":"Block","src":"16969:65:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2183,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2171,"src":"17000:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2184,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2173,"src":"17006:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2185,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2175,"src":"17013:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2186,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2177,"src":"17023:3:2","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":2180,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"16979:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16982:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13711,"src":"16979:20:2","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":2187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16979:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2188,"nodeType":"ExpressionStatement","src":"16979:48:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16835:17:2","parameters":{"id":2178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2171,"mutability":"mutable","name":"left","nameLocation":"16861:4:2","nodeType":"VariableDeclaration","scope":2190,"src":"16853:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2170,"name":"uint256","nodeType":"ElementaryTypeName","src":"16853:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2173,"mutability":"mutable","name":"right","nameLocation":"16875:5:2","nodeType":"VariableDeclaration","scope":2190,"src":"16867:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2172,"name":"uint256","nodeType":"ElementaryTypeName","src":"16867:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2175,"mutability":"mutable","name":"maxDelta","nameLocation":"16890:8:2","nodeType":"VariableDeclaration","scope":2190,"src":"16882:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2174,"name":"uint256","nodeType":"ElementaryTypeName","src":"16882:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2177,"mutability":"mutable","name":"err","nameLocation":"16914:3:2","nodeType":"VariableDeclaration","scope":2190,"src":"16900:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2176,"name":"string","nodeType":"ElementaryTypeName","src":"16900:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16852:66:2"},"returnParameters":{"id":2179,"nodeType":"ParameterList","parameters":[],"src":"16969:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"17040:226:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"17189:77:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2204,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"17227:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2205,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2194,"src":"17233:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2196,"src":"17240:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2207,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2198,"src":"17250:8:2","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":2201,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"17199:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17202:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13649,"src":"17199:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17199:60:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2209,"nodeType":"ExpressionStatement","src":"17199:60:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17049:24:2","parameters":{"id":2199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2192,"mutability":"mutable","name":"left","nameLocation":"17082:4:2","nodeType":"VariableDeclaration","scope":2211,"src":"17074:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2191,"name":"uint256","nodeType":"ElementaryTypeName","src":"17074:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2194,"mutability":"mutable","name":"right","nameLocation":"17096:5:2","nodeType":"VariableDeclaration","scope":2211,"src":"17088:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2193,"name":"uint256","nodeType":"ElementaryTypeName","src":"17088:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2196,"mutability":"mutable","name":"maxDelta","nameLocation":"17111:8:2","nodeType":"VariableDeclaration","scope":2211,"src":"17103:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2195,"name":"uint256","nodeType":"ElementaryTypeName","src":"17103:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2198,"mutability":"mutable","name":"decimals","nameLocation":"17129:8:2","nodeType":"VariableDeclaration","scope":2211,"src":"17121:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2197,"name":"uint256","nodeType":"ElementaryTypeName","src":"17121:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17073:65:2"},"returnParameters":{"id":2200,"nodeType":"ParameterList","parameters":[],"src":"17189:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2235,"nodeType":"FunctionDefinition","src":"17272:268:2","nodes":[],"body":{"id":2234,"nodeType":"Block","src":"17458:82:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2227,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2213,"src":"17496:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2228,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"17502:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2229,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2217,"src":"17509:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2230,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2219,"src":"17519:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2231,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2221,"src":"17529:3:2","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":2224,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"17468:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17471:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13663,"src":"17468:27:2","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":2232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17468:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2233,"nodeType":"ExpressionStatement","src":"17468:65:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17281:24:2","parameters":{"id":2222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2213,"mutability":"mutable","name":"left","nameLocation":"17323:4:2","nodeType":"VariableDeclaration","scope":2235,"src":"17315:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2212,"name":"uint256","nodeType":"ElementaryTypeName","src":"17315:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2215,"mutability":"mutable","name":"right","nameLocation":"17345:5:2","nodeType":"VariableDeclaration","scope":2235,"src":"17337:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2214,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2217,"mutability":"mutable","name":"maxDelta","nameLocation":"17368:8:2","nodeType":"VariableDeclaration","scope":2235,"src":"17360:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2216,"name":"uint256","nodeType":"ElementaryTypeName","src":"17360:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2219,"mutability":"mutable","name":"decimals","nameLocation":"17394:8:2","nodeType":"VariableDeclaration","scope":2235,"src":"17386:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2218,"name":"uint256","nodeType":"ElementaryTypeName","src":"17386:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2221,"mutability":"mutable","name":"err","nameLocation":"17426:3:2","nodeType":"VariableDeclaration","scope":2235,"src":"17412:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2220,"name":"string","nodeType":"ElementaryTypeName","src":"17412:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17305:130:2"},"returnParameters":{"id":2223,"nodeType":"ParameterList","parameters":[],"src":"17458:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2253,"nodeType":"FunctionDefinition","src":"17546:154:2","nodes":[],"body":{"id":2252,"nodeType":"Block","src":"17640:60:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2247,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2237,"src":"17671:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2248,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2239,"src":"17677:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2249,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2241,"src":"17684:8:2","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":2244,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"17650:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17653:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13721,"src":"17650:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17650:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2251,"nodeType":"ExpressionStatement","src":"17650:43:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17555:17:2","parameters":{"id":2242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"left","nameLocation":"17580:4:2","nodeType":"VariableDeclaration","scope":2253,"src":"17573:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2236,"name":"int256","nodeType":"ElementaryTypeName","src":"17573:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2239,"mutability":"mutable","name":"right","nameLocation":"17593:5:2","nodeType":"VariableDeclaration","scope":2253,"src":"17586:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2238,"name":"int256","nodeType":"ElementaryTypeName","src":"17586:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2241,"mutability":"mutable","name":"maxDelta","nameLocation":"17608:8:2","nodeType":"VariableDeclaration","scope":2253,"src":"17600:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2240,"name":"uint256","nodeType":"ElementaryTypeName","src":"17600:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17572:45:2"},"returnParameters":{"id":2243,"nodeType":"ParameterList","parameters":[],"src":"17640:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2274,"nodeType":"FunctionDefinition","src":"17706:178:2","nodes":[],"body":{"id":2273,"nodeType":"Block","src":"17819:65:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2267,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2255,"src":"17850:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2268,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2257,"src":"17856:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2269,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2259,"src":"17863:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2270,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2261,"src":"17873:3:2","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":2264,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"17829:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17832:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":13733,"src":"17829:20:2","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":2271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17829:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2272,"nodeType":"ExpressionStatement","src":"17829:48:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17715:17:2","parameters":{"id":2262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2255,"mutability":"mutable","name":"left","nameLocation":"17740:4:2","nodeType":"VariableDeclaration","scope":2274,"src":"17733:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2254,"name":"int256","nodeType":"ElementaryTypeName","src":"17733:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2257,"mutability":"mutable","name":"right","nameLocation":"17753:5:2","nodeType":"VariableDeclaration","scope":2274,"src":"17746:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2256,"name":"int256","nodeType":"ElementaryTypeName","src":"17746:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2259,"mutability":"mutable","name":"maxDelta","nameLocation":"17768:8:2","nodeType":"VariableDeclaration","scope":2274,"src":"17760:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2258,"name":"uint256","nodeType":"ElementaryTypeName","src":"17760:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2261,"mutability":"mutable","name":"err","nameLocation":"17792:3:2","nodeType":"VariableDeclaration","scope":2274,"src":"17778:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2260,"name":"string","nodeType":"ElementaryTypeName","src":"17778:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17732:64:2"},"returnParameters":{"id":2263,"nodeType":"ParameterList","parameters":[],"src":"17819:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2295,"nodeType":"FunctionDefinition","src":"17890:224:2","nodes":[],"body":{"id":2294,"nodeType":"Block","src":"18037:77:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2288,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2276,"src":"18075:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2289,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2278,"src":"18081:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2290,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2280,"src":"18088:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2291,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"18098:8:2","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":2285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"18047:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18050:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13675,"src":"18047:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18047:60:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2293,"nodeType":"ExpressionStatement","src":"18047:60:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17899:24:2","parameters":{"id":2283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2276,"mutability":"mutable","name":"left","nameLocation":"17931:4:2","nodeType":"VariableDeclaration","scope":2295,"src":"17924:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2275,"name":"int256","nodeType":"ElementaryTypeName","src":"17924:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2278,"mutability":"mutable","name":"right","nameLocation":"17944:5:2","nodeType":"VariableDeclaration","scope":2295,"src":"17937:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2277,"name":"int256","nodeType":"ElementaryTypeName","src":"17937:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2280,"mutability":"mutable","name":"maxDelta","nameLocation":"17959:8:2","nodeType":"VariableDeclaration","scope":2295,"src":"17951:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2279,"name":"uint256","nodeType":"ElementaryTypeName","src":"17951:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2282,"mutability":"mutable","name":"decimals","nameLocation":"17977:8:2","nodeType":"VariableDeclaration","scope":2295,"src":"17969:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2281,"name":"uint256","nodeType":"ElementaryTypeName","src":"17969:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17923:63:2"},"returnParameters":{"id":2284,"nodeType":"ParameterList","parameters":[],"src":"18037:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2319,"nodeType":"FunctionDefinition","src":"18120:248:2","nodes":[],"body":{"id":2318,"nodeType":"Block","src":"18286:82:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2311,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2297,"src":"18324:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2312,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2299,"src":"18330:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2313,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2301,"src":"18337:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2314,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2303,"src":"18347:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2315,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2305,"src":"18357:3:2","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":2308,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"18296:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18299:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":13689,"src":"18296:27:2","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":2316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18296:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2317,"nodeType":"ExpressionStatement","src":"18296:65:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"18129:24:2","parameters":{"id":2306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2297,"mutability":"mutable","name":"left","nameLocation":"18161:4:2","nodeType":"VariableDeclaration","scope":2319,"src":"18154:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2296,"name":"int256","nodeType":"ElementaryTypeName","src":"18154:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2299,"mutability":"mutable","name":"right","nameLocation":"18174:5:2","nodeType":"VariableDeclaration","scope":2319,"src":"18167:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2298,"name":"int256","nodeType":"ElementaryTypeName","src":"18167:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2301,"mutability":"mutable","name":"maxDelta","nameLocation":"18189:8:2","nodeType":"VariableDeclaration","scope":2319,"src":"18181:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2300,"name":"uint256","nodeType":"ElementaryTypeName","src":"18181:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2303,"mutability":"mutable","name":"decimals","nameLocation":"18207:8:2","nodeType":"VariableDeclaration","scope":2319,"src":"18199:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2302,"name":"uint256","nodeType":"ElementaryTypeName","src":"18199:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2305,"mutability":"mutable","name":"err","nameLocation":"18231:3:2","nodeType":"VariableDeclaration","scope":2319,"src":"18217:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2304,"name":"string","nodeType":"ElementaryTypeName","src":"18217:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18153:82:2"},"returnParameters":{"id":2307,"nodeType":"ParameterList","parameters":[],"src":"18286:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2337,"nodeType":"FunctionDefinition","src":"18374:256:2","nodes":[],"body":{"id":2336,"nodeType":"Block","src":"18563:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2331,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2321,"src":"18594:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2332,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2323,"src":"18600:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2333,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2325,"src":"18607:15:2","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":2328,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"18573:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18576:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13795,"src":"18573:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18573:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2335,"nodeType":"ExpressionStatement","src":"18573:50:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18383:17:2","parameters":{"id":2326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2321,"mutability":"mutable","name":"left","nameLocation":"18418:4:2","nodeType":"VariableDeclaration","scope":2337,"src":"18410:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2320,"name":"uint256","nodeType":"ElementaryTypeName","src":"18410:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2323,"mutability":"mutable","name":"right","nameLocation":"18440:5:2","nodeType":"VariableDeclaration","scope":2337,"src":"18432:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2322,"name":"uint256","nodeType":"ElementaryTypeName","src":"18432:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2325,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18463:15:2","nodeType":"VariableDeclaration","scope":2337,"src":"18455:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2324,"name":"uint256","nodeType":"ElementaryTypeName","src":"18455:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18400:140:2"},"returnParameters":{"id":2327,"nodeType":"ParameterList","parameters":[],"src":"18563:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2358,"nodeType":"FunctionDefinition","src":"18636:288:2","nodes":[],"body":{"id":2357,"nodeType":"Block","src":"18852:72:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2351,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2339,"src":"18883:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2352,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"18889:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2353,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2343,"src":"18896:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2354,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2345,"src":"18913:3:2","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":2348,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"18862:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18865:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13807,"src":"18862:20:2","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":2355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18862:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2356,"nodeType":"ExpressionStatement","src":"18862:55:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18645:17:2","parameters":{"id":2346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"mutability":"mutable","name":"left","nameLocation":"18680:4:2","nodeType":"VariableDeclaration","scope":2358,"src":"18672:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"18672:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2341,"mutability":"mutable","name":"right","nameLocation":"18702:5:2","nodeType":"VariableDeclaration","scope":2358,"src":"18694:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2340,"name":"uint256","nodeType":"ElementaryTypeName","src":"18694:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2343,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18725:15:2","nodeType":"VariableDeclaration","scope":2358,"src":"18717:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2342,"name":"uint256","nodeType":"ElementaryTypeName","src":"18717:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2345,"mutability":"mutable","name":"err","nameLocation":"18820:3:2","nodeType":"VariableDeclaration","scope":2358,"src":"18806:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2344,"name":"string","nodeType":"ElementaryTypeName","src":"18806:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18662:167:2"},"returnParameters":{"id":2347,"nodeType":"ParameterList","parameters":[],"src":"18852:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2379,"nodeType":"FunctionDefinition","src":"18930:306:2","nodes":[],"body":{"id":2378,"nodeType":"Block","src":"19152:84:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2372,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"19190:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2373,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2362,"src":"19196:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2374,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2364,"src":"19203:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2375,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2366,"src":"19220:8:2","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":2369,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"19162:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19165:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13745,"src":"19162:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19162:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2377,"nodeType":"ExpressionStatement","src":"19162:67:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"18939:24:2","parameters":{"id":2367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2360,"mutability":"mutable","name":"left","nameLocation":"18981:4:2","nodeType":"VariableDeclaration","scope":2379,"src":"18973:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2359,"name":"uint256","nodeType":"ElementaryTypeName","src":"18973:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2362,"mutability":"mutable","name":"right","nameLocation":"19003:5:2","nodeType":"VariableDeclaration","scope":2379,"src":"18995:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2361,"name":"uint256","nodeType":"ElementaryTypeName","src":"18995:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2364,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19026:15:2","nodeType":"VariableDeclaration","scope":2379,"src":"19018:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2363,"name":"uint256","nodeType":"ElementaryTypeName","src":"19018:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2366,"mutability":"mutable","name":"decimals","nameLocation":"19115:8:2","nodeType":"VariableDeclaration","scope":2379,"src":"19107:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2365,"name":"uint256","nodeType":"ElementaryTypeName","src":"19107:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:166:2"},"returnParameters":{"id":2368,"nodeType":"ParameterList","parameters":[],"src":"19152:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2403,"nodeType":"FunctionDefinition","src":"19242:338:2","nodes":[],"body":{"id":2402,"nodeType":"Block","src":"19491:89:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2395,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"19529:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2396,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2383,"src":"19535:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2397,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"19542:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2398,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2387,"src":"19559:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2399,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2389,"src":"19569:3:2","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":2392,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"19501:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19504:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13759,"src":"19501:27:2","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":2400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19501:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2401,"nodeType":"ExpressionStatement","src":"19501:72:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"19251:24:2","parameters":{"id":2390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2381,"mutability":"mutable","name":"left","nameLocation":"19293:4:2","nodeType":"VariableDeclaration","scope":2403,"src":"19285:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2380,"name":"uint256","nodeType":"ElementaryTypeName","src":"19285:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2383,"mutability":"mutable","name":"right","nameLocation":"19315:5:2","nodeType":"VariableDeclaration","scope":2403,"src":"19307:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2382,"name":"uint256","nodeType":"ElementaryTypeName","src":"19307:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2385,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19338:15:2","nodeType":"VariableDeclaration","scope":2403,"src":"19330:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2384,"name":"uint256","nodeType":"ElementaryTypeName","src":"19330:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2387,"mutability":"mutable","name":"decimals","nameLocation":"19427:8:2","nodeType":"VariableDeclaration","scope":2403,"src":"19419:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2386,"name":"uint256","nodeType":"ElementaryTypeName","src":"19419:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2389,"mutability":"mutable","name":"err","nameLocation":"19459:3:2","nodeType":"VariableDeclaration","scope":2403,"src":"19445:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2388,"name":"string","nodeType":"ElementaryTypeName","src":"19445:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19275:193:2"},"returnParameters":{"id":2391,"nodeType":"ParameterList","parameters":[],"src":"19491:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2421,"nodeType":"FunctionDefinition","src":"19586:168:2","nodes":[],"body":{"id":2420,"nodeType":"Block","src":"19687:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2415,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2405,"src":"19718:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2416,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2407,"src":"19724:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2417,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2409,"src":"19731:15:2","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":2412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"19697:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19700:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13817,"src":"19697:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19697:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2419,"nodeType":"ExpressionStatement","src":"19697:50:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19595:17:2","parameters":{"id":2410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2405,"mutability":"mutable","name":"left","nameLocation":"19620:4:2","nodeType":"VariableDeclaration","scope":2421,"src":"19613:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2404,"name":"int256","nodeType":"ElementaryTypeName","src":"19613:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2407,"mutability":"mutable","name":"right","nameLocation":"19633:5:2","nodeType":"VariableDeclaration","scope":2421,"src":"19626:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2406,"name":"int256","nodeType":"ElementaryTypeName","src":"19626:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2409,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19648:15:2","nodeType":"VariableDeclaration","scope":2421,"src":"19640:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2408,"name":"uint256","nodeType":"ElementaryTypeName","src":"19640:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19612:52:2"},"returnParameters":{"id":2411,"nodeType":"ParameterList","parameters":[],"src":"19687:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2442,"nodeType":"FunctionDefinition","src":"19760:286:2","nodes":[],"body":{"id":2441,"nodeType":"Block","src":"19974:72:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2435,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2423,"src":"20005:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2436,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2425,"src":"20011:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2437,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2427,"src":"20018:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2438,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2429,"src":"20035:3:2","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":2432,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"19984:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19987:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":13829,"src":"19984:20:2","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":2439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2440,"nodeType":"ExpressionStatement","src":"19984:55:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19769:17:2","parameters":{"id":2430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2423,"mutability":"mutable","name":"left","nameLocation":"19803:4:2","nodeType":"VariableDeclaration","scope":2442,"src":"19796:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2422,"name":"int256","nodeType":"ElementaryTypeName","src":"19796:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2425,"mutability":"mutable","name":"right","nameLocation":"19824:5:2","nodeType":"VariableDeclaration","scope":2442,"src":"19817:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2424,"name":"int256","nodeType":"ElementaryTypeName","src":"19817:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2427,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19847:15:2","nodeType":"VariableDeclaration","scope":2442,"src":"19839:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2426,"name":"uint256","nodeType":"ElementaryTypeName","src":"19839:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2429,"mutability":"mutable","name":"err","nameLocation":"19942:3:2","nodeType":"VariableDeclaration","scope":2442,"src":"19928:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2428,"name":"string","nodeType":"ElementaryTypeName","src":"19928:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19786:165:2"},"returnParameters":{"id":2431,"nodeType":"ParameterList","parameters":[],"src":"19974:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2463,"nodeType":"FunctionDefinition","src":"20052:304:2","nodes":[],"body":{"id":2462,"nodeType":"Block","src":"20272:84:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2456,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2444,"src":"20310:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2457,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2446,"src":"20316:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2458,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2448,"src":"20323:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2459,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2450,"src":"20340:8:2","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":2453,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"20282:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20285:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13771,"src":"20282:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20282:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2461,"nodeType":"ExpressionStatement","src":"20282:67:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20061:24:2","parameters":{"id":2451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2444,"mutability":"mutable","name":"left","nameLocation":"20102:4:2","nodeType":"VariableDeclaration","scope":2463,"src":"20095:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2443,"name":"int256","nodeType":"ElementaryTypeName","src":"20095:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2446,"mutability":"mutable","name":"right","nameLocation":"20123:5:2","nodeType":"VariableDeclaration","scope":2463,"src":"20116:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2445,"name":"int256","nodeType":"ElementaryTypeName","src":"20116:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2448,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20146:15:2","nodeType":"VariableDeclaration","scope":2463,"src":"20138:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2447,"name":"uint256","nodeType":"ElementaryTypeName","src":"20138:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2450,"mutability":"mutable","name":"decimals","nameLocation":"20235:8:2","nodeType":"VariableDeclaration","scope":2463,"src":"20227:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2449,"name":"uint256","nodeType":"ElementaryTypeName","src":"20227:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20085:164:2"},"returnParameters":{"id":2452,"nodeType":"ParameterList","parameters":[],"src":"20272:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2487,"nodeType":"FunctionDefinition","src":"20362:336:2","nodes":[],"body":{"id":2486,"nodeType":"Block","src":"20609:89:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2479,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2465,"src":"20647:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2480,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2467,"src":"20653:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2481,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2469,"src":"20660:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2482,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2471,"src":"20677:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2483,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2473,"src":"20687:3:2","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":2476,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135,"src":"20619:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":2478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20622:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":13785,"src":"20619:27:2","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":2484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20619:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2485,"nodeType":"ExpressionStatement","src":"20619:72:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20371:24:2","parameters":{"id":2474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2465,"mutability":"mutable","name":"left","nameLocation":"20412:4:2","nodeType":"VariableDeclaration","scope":2487,"src":"20405:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2464,"name":"int256","nodeType":"ElementaryTypeName","src":"20405:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2467,"mutability":"mutable","name":"right","nameLocation":"20433:5:2","nodeType":"VariableDeclaration","scope":2487,"src":"20426:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2466,"name":"int256","nodeType":"ElementaryTypeName","src":"20426:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2469,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20456:15:2","nodeType":"VariableDeclaration","scope":2487,"src":"20448:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2468,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2471,"mutability":"mutable","name":"decimals","nameLocation":"20545:8:2","nodeType":"VariableDeclaration","scope":2487,"src":"20537:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2470,"name":"uint256","nodeType":"ElementaryTypeName","src":"20537:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2473,"mutability":"mutable","name":"err","nameLocation":"20577:3:2","nodeType":"VariableDeclaration","scope":2487,"src":"20563:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2472,"name":"string","nodeType":"ElementaryTypeName","src":"20563:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20395:191:2"},"returnParameters":{"id":2475,"nodeType":"ParameterList","parameters":[],"src":"20609:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2505,"nodeType":"FunctionDefinition","src":"20780:145:2","nodes":[],"body":{"id":2504,"nodeType":"Block","src":"20866:59:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2497,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2489,"src":"20893:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2496,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20883:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20883:15:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":2500,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2491,"src":"20912:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2499,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20902:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20902:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"20883:35:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2495,"id":2503,"nodeType":"Return","src":"20876:42:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"20789:8:2","parameters":{"id":2492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2489,"mutability":"mutable","name":"left","nameLocation":"20811:4:2","nodeType":"VariableDeclaration","scope":2505,"src":"20798:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"20798:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2491,"mutability":"mutable","name":"right","nameLocation":"20830:5:2","nodeType":"VariableDeclaration","scope":2505,"src":"20817:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2490,"name":"bytes","nodeType":"ElementaryTypeName","src":"20817:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20797:39:2"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2505,"src":"20860:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2493,"name":"bool","nodeType":"ElementaryTypeName","src":"20860:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20859:6:2"},"scope":2734,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2518,"nodeType":"FunctionDefinition","src":"20931:118:2","nodes":[],"body":{"id":2517,"nodeType":"Block","src":"21011:38:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2513,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2507,"src":"21030:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2514,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2509,"src":"21036:5:2","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":2512,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[383,401,416,434,488,506,560,578,593,611,655,673,688,706,723,743,760,780,797,817,834,854,871,891,908,928,945,965],"referencedDeclaration":688,"src":"21021:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":2515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21021:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2516,"nodeType":"ExpressionStatement","src":"21021:21:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"20940:9:2","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"left","nameLocation":"20963:4:2","nodeType":"VariableDeclaration","scope":2518,"src":"20950:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2506,"name":"bytes","nodeType":"ElementaryTypeName","src":"20950:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"right","nameLocation":"20982:5:2","nodeType":"VariableDeclaration","scope":2518,"src":"20969:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"20969:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20949:39:2"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"21011:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2534,"nodeType":"FunctionDefinition","src":"21055:142:2","nodes":[],"body":{"id":2533,"nodeType":"Block","src":"21154:43:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2528,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2520,"src":"21173:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2529,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2522,"src":"21179:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2530,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2524,"src":"21186:3:2","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":2527,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[383,401,416,434,488,506,560,578,593,611,655,673,688,706,723,743,760,780,797,817,834,854,871,891,908,928,945,965],"referencedDeclaration":706,"src":"21164:8:2","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":2531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21164:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2532,"nodeType":"ExpressionStatement","src":"21164:26:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"21064:9:2","parameters":{"id":2525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2520,"mutability":"mutable","name":"left","nameLocation":"21087:4:2","nodeType":"VariableDeclaration","scope":2534,"src":"21074:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2519,"name":"bytes","nodeType":"ElementaryTypeName","src":"21074:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2522,"mutability":"mutable","name":"right","nameLocation":"21106:5:2","nodeType":"VariableDeclaration","scope":2534,"src":"21093:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2521,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2524,"mutability":"mutable","name":"err","nameLocation":"21127:3:2","nodeType":"VariableDeclaration","scope":2534,"src":"21113:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2523,"name":"string","nodeType":"ElementaryTypeName","src":"21113:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21073:58:2"},"returnParameters":{"id":2526,"nodeType":"ParameterList","parameters":[],"src":"21154:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2547,"nodeType":"FunctionDefinition","src":"21203:124:2","nodes":[],"body":{"id":2546,"nodeType":"Block","src":"21286:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2542,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2536,"src":"21308:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2543,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2538,"src":"21314:5:2","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":2541,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[993,1011,1026,1044,1098,1116,1170,1188,1203,1221,1265,1283,1298,1316,1333,1353,1370,1390,1407,1427,1444,1464,1481,1501,1518,1538,1555,1575],"referencedDeclaration":1298,"src":"21296:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":2544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21296:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2545,"nodeType":"ExpressionStatement","src":"21296:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21212:12:2","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"left","nameLocation":"21238:4:2","nodeType":"VariableDeclaration","scope":2547,"src":"21225:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2535,"name":"bytes","nodeType":"ElementaryTypeName","src":"21225:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"right","nameLocation":"21257:5:2","nodeType":"VariableDeclaration","scope":2547,"src":"21244:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2537,"name":"bytes","nodeType":"ElementaryTypeName","src":"21244:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21224:39:2"},"returnParameters":{"id":2540,"nodeType":"ParameterList","parameters":[],"src":"21286:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2563,"nodeType":"FunctionDefinition","src":"21333:148:2","nodes":[],"body":{"id":2562,"nodeType":"Block","src":"21435:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2557,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2549,"src":"21457:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2558,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"21463:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2559,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2553,"src":"21470:3:2","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":2556,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[993,1011,1026,1044,1098,1116,1170,1188,1203,1221,1265,1283,1298,1316,1333,1353,1370,1390,1407,1427,1444,1464,1481,1501,1518,1538,1555,1575],"referencedDeclaration":1316,"src":"21445:11:2","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":2560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21445:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2561,"nodeType":"ExpressionStatement","src":"21445:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21342:12:2","parameters":{"id":2554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2549,"mutability":"mutable","name":"left","nameLocation":"21368:4:2","nodeType":"VariableDeclaration","scope":2563,"src":"21355:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2548,"name":"bytes","nodeType":"ElementaryTypeName","src":"21355:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2551,"mutability":"mutable","name":"right","nameLocation":"21387:5:2","nodeType":"VariableDeclaration","scope":2563,"src":"21374:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2550,"name":"bytes","nodeType":"ElementaryTypeName","src":"21374:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2553,"mutability":"mutable","name":"err","nameLocation":"21408:3:2","nodeType":"VariableDeclaration","scope":2563,"src":"21394:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2552,"name":"string","nodeType":"ElementaryTypeName","src":"21394:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21354:58:2"},"returnParameters":{"id":2555,"nodeType":"ParameterList","parameters":[],"src":"21435:0:2"},"scope":2734,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2581,"nodeType":"FunctionDefinition","src":"21487:176:2","nodes":[],"body":{"id":2580,"nodeType":"Block","src":"21590:73:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2573,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2565,"src":"21613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2574,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2567,"src":"21621:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2575,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2565,"src":"21632:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2576,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2569,"src":"21640:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":2577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21651:4:2","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":2572,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2581,2601,2621,2733],"referencedDeclaration":2733,"src":"21600:12:2","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":2578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21600:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2579,"nodeType":"ExpressionStatement","src":"21600:56:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21496:12:2","parameters":{"id":2570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2565,"mutability":"mutable","name":"target","nameLocation":"21517:6:2","nodeType":"VariableDeclaration","scope":2581,"src":"21509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2564,"name":"address","nodeType":"ElementaryTypeName","src":"21509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2567,"mutability":"mutable","name":"callDataA","nameLocation":"21538:9:2","nodeType":"VariableDeclaration","scope":2581,"src":"21525:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2566,"name":"bytes","nodeType":"ElementaryTypeName","src":"21525:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2569,"mutability":"mutable","name":"callDataB","nameLocation":"21562:9:2","nodeType":"VariableDeclaration","scope":2581,"src":"21549:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2568,"name":"bytes","nodeType":"ElementaryTypeName","src":"21549:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21508:64:2"},"returnParameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"21590:0:2"},"scope":2734,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2601,"nodeType":"FunctionDefinition","src":"21669:216:2","nodes":[],"body":{"id":2600,"nodeType":"Block","src":"21810:75:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2593,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2583,"src":"21833:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2594,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2585,"src":"21842:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2595,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2587,"src":"21853:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2596,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2589,"src":"21862:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":2597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21873:4:2","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":2592,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2581,2601,2621,2733],"referencedDeclaration":2733,"src":"21820:12:2","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":2598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21820:58:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2599,"nodeType":"ExpressionStatement","src":"21820:58:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21678:12:2","parameters":{"id":2590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2583,"mutability":"mutable","name":"targetA","nameLocation":"21699:7:2","nodeType":"VariableDeclaration","scope":2601,"src":"21691:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2582,"name":"address","nodeType":"ElementaryTypeName","src":"21691:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2585,"mutability":"mutable","name":"callDataA","nameLocation":"21721:9:2","nodeType":"VariableDeclaration","scope":2601,"src":"21708:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2584,"name":"bytes","nodeType":"ElementaryTypeName","src":"21708:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2587,"mutability":"mutable","name":"targetB","nameLocation":"21740:7:2","nodeType":"VariableDeclaration","scope":2601,"src":"21732:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2586,"name":"address","nodeType":"ElementaryTypeName","src":"21732:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2589,"mutability":"mutable","name":"callDataB","nameLocation":"21762:9:2","nodeType":"VariableDeclaration","scope":2601,"src":"21749:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2588,"name":"bytes","nodeType":"ElementaryTypeName","src":"21749:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21690:82:2"},"returnParameters":{"id":2591,"nodeType":"ParameterList","parameters":[],"src":"21810:0:2"},"scope":2734,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2621,"nodeType":"FunctionDefinition","src":"21891:231:2","nodes":[],"body":{"id":2620,"nodeType":"Block","src":"22037:85:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2613,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2603,"src":"22060:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2614,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"22068:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2615,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2603,"src":"22079:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2616,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"22087:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2617,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"22098:16:2","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":2612,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2581,2601,2621,2733],"referencedDeclaration":2733,"src":"22047:12:2","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":2618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22047:68:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2619,"nodeType":"ExpressionStatement","src":"22047:68:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21900:12:2","parameters":{"id":2610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2603,"mutability":"mutable","name":"target","nameLocation":"21921:6:2","nodeType":"VariableDeclaration","scope":2621,"src":"21913:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2602,"name":"address","nodeType":"ElementaryTypeName","src":"21913:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2605,"mutability":"mutable","name":"callDataA","nameLocation":"21942:9:2","nodeType":"VariableDeclaration","scope":2621,"src":"21929:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2604,"name":"bytes","nodeType":"ElementaryTypeName","src":"21929:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2607,"mutability":"mutable","name":"callDataB","nameLocation":"21966:9:2","nodeType":"VariableDeclaration","scope":2621,"src":"21953:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2606,"name":"bytes","nodeType":"ElementaryTypeName","src":"21953:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2609,"mutability":"mutable","name":"strictRevertData","nameLocation":"21982:16:2","nodeType":"VariableDeclaration","scope":2621,"src":"21977:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2608,"name":"bool","nodeType":"ElementaryTypeName","src":"21977:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21912:87:2"},"returnParameters":{"id":2611,"nodeType":"ParameterList","parameters":[],"src":"22037:0:2"},"scope":2734,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2733,"nodeType":"FunctionDefinition","src":"22128:1229:2","nodes":[],"body":{"id":2732,"nodeType":"Block","src":"22318:1039:2","nodes":[],"statements":[{"assignments":[2635,2637],"declarations":[{"constant":false,"id":2635,"mutability":"mutable","name":"successA","nameLocation":"22334:8:2","nodeType":"VariableDeclaration","scope":2732,"src":"22329:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2634,"name":"bool","nodeType":"ElementaryTypeName","src":"22329:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2637,"mutability":"mutable","name":"returnDataA","nameLocation":"22357:11:2","nodeType":"VariableDeclaration","scope":2732,"src":"22344:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2636,"name":"bytes","nodeType":"ElementaryTypeName","src":"22344:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2645,"initialValue":{"arguments":[{"id":2643,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2625,"src":"22394:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":2640,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2623,"src":"22380:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22372:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2638,"name":"address","nodeType":"ElementaryTypeName","src":"22372:7:2","typeDescriptions":{}}},"id":2641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22372:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:4:2","memberName":"call","nodeType":"MemberAccess","src":"22372:21:2","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":2644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22372:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22328:76:2"},{"assignments":[2647,2649],"declarations":[{"constant":false,"id":2647,"mutability":"mutable","name":"successB","nameLocation":"22420:8:2","nodeType":"VariableDeclaration","scope":2732,"src":"22415:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2646,"name":"bool","nodeType":"ElementaryTypeName","src":"22415:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2649,"mutability":"mutable","name":"returnDataB","nameLocation":"22443:11:2","nodeType":"VariableDeclaration","scope":2732,"src":"22430:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2648,"name":"bytes","nodeType":"ElementaryTypeName","src":"22430:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2657,"initialValue":{"arguments":[{"id":2655,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"22480:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":2652,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"22466:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22458:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2650,"name":"address","nodeType":"ElementaryTypeName","src":"22458:7:2","typeDescriptions":{}}},"id":2653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22458:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22475:4:2","memberName":"call","nodeType":"MemberAccess","src":"22458:21:2","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":2656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22458:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22414:76:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2658,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2635,"src":"22505:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2659,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2647,"src":"22517:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22505:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2668,"nodeType":"IfStatement","src":"22501:120:2","trueBody":{"id":2667,"nodeType":"Block","src":"22527:94:2","statements":[{"expression":{"arguments":[{"id":2662,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2637,"src":"22550:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2663,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"22563:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":2664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22576:33:2","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":2661,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[383,401,416,434,488,506,560,578,593,611,655,673,688,706,723,743,760,780,797,817,834,854,871,891,908,928,945,965],"referencedDeclaration":706,"src":"22541:8:2","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":2665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2666,"nodeType":"ExpressionStatement","src":"22541:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22635:9:2","subExpression":{"id":2669,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2635,"src":"22636:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22648:9:2","subExpression":{"id":2671,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2647,"src":"22649:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2674,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"22661:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2683,"nodeType":"IfStatement","src":"22631:142:2","trueBody":{"id":2682,"nodeType":"Block","src":"22679:94:2","statements":[{"expression":{"arguments":[{"id":2677,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2637,"src":"22702:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2678,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"22715:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":2679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22728:33:2","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":2676,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[383,401,416,434,488,506,560,578,593,611,655,673,688,706,723,743,760,780,797,817,834,854,871,891,908,928,945,965],"referencedDeclaration":706,"src":"22693:8:2","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":2680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22693:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2681,"nodeType":"ExpressionStatement","src":"22693:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22787:9:2","subExpression":{"id":2684,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2635,"src":"22788:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2686,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2647,"src":"22800:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22787:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2707,"nodeType":"IfStatement","src":"22783:279:2","trueBody":{"id":2706,"nodeType":"Block","src":"22810:252:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":2689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22833:29:2","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":2688,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"22829:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22829:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2691,"nodeType":"EmitStatement","src":"22824:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":2693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22898:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \"  Left call revert data\""},"value":"  Left call revert data"},{"id":2694,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2637,"src":"22925:11:2","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":2692,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"22882:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22882:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2696,"nodeType":"EmitStatement","src":"22877:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":2698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22972:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":2699,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"22999:11:2","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":2697,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"22956:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22956:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2701,"nodeType":"EmitStatement","src":"22951:60:2"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":2703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23032:18:2","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":2702,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23025:6:2","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23025:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2705,"nodeType":"ExpressionStatement","src":"23025:26:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2708,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2635,"src":"23076:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23088:9:2","subExpression":{"id":2709,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2647,"src":"23089:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23076:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2731,"nodeType":"IfStatement","src":"23072:279:2","trueBody":{"id":2730,"nodeType":"Block","src":"23099:252:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":2713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23122:29:2","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":2712,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"23118:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23118:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2715,"nodeType":"EmitStatement","src":"23113:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":2717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23187:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \"  Left call return data\""},"value":"  Left call return data"},{"id":2718,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2637,"src":"23214:11:2","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":2716,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"23171:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23171:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2720,"nodeType":"EmitStatement","src":"23166:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":2722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23261:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":2723,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"23288:11:2","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":2721,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"23245:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23245:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2725,"nodeType":"EmitStatement","src":"23240:60:2"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":2727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23321:18:2","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":2726,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23314:6:2","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23314:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2729,"nodeType":"ExpressionStatement","src":"23314:26:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"22137:12:2","parameters":{"id":2632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2623,"mutability":"mutable","name":"targetA","nameLocation":"22167:7:2","nodeType":"VariableDeclaration","scope":2733,"src":"22159:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2622,"name":"address","nodeType":"ElementaryTypeName","src":"22159:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2625,"mutability":"mutable","name":"callDataA","nameLocation":"22197:9:2","nodeType":"VariableDeclaration","scope":2733,"src":"22184:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2624,"name":"bytes","nodeType":"ElementaryTypeName","src":"22184:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2627,"mutability":"mutable","name":"targetB","nameLocation":"22224:7:2","nodeType":"VariableDeclaration","scope":2733,"src":"22216:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2626,"name":"address","nodeType":"ElementaryTypeName","src":"22216:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2629,"mutability":"mutable","name":"callDataB","nameLocation":"22254:9:2","nodeType":"VariableDeclaration","scope":2733,"src":"22241:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2628,"name":"bytes","nodeType":"ElementaryTypeName","src":"22241:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2631,"mutability":"mutable","name":"strictRevertData","nameLocation":"22278:16:2","nodeType":"VariableDeclaration","scope":2733,"src":"22273:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2630,"name":"bool","nodeType":"ElementaryTypeName","src":"22273:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22149:151:2"},"returnParameters":{"id":2633,"nodeType":"ParameterList","parameters":[],"src":"22318:0:2"},"scope":2734,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[2734],"name":"StdAssertions","nameLocation":"147:13:2","scope":2735,"usedErrors":[],"usedEvents":[139,143,147,151,155,159,163,167,173,179,187,195,201,207,213,219,224,229,234,241,248,255]}],"license":"MIT"},"id":2}